TypeScript为对象动态添加属性代码示例

 更新时间:2023年07月11日 09:30:51   作者:明明明h  
这篇文章主要给大家介绍了关于TypeScript为对象动态添加属性的相关资料,在TypeScript 中,我们经常需要在运行时动态添加属性到对象上,需要的朋友可以参考下

1.定义

TypeScript 对象是包含一组键值对的实例。 值可以是标量、函数、数组、对象等,如下实例:

var object_name = { 
    key1: "value1", // 标量
    key2: "value",  
    key3: function() {
        // 函数
    }, 
    key4:["content1", "content2"] //集合
}

//访问对象
object_name.key1	// value1
object_name.key4	// ["content1", "content2"]

2.TypeScript 类型模板

var sites = {
    site1: "",
    site2: 0,
    sayHello: function () { } // 类型模板
};

sites.site1 = "site1"
sites.site2 = 2
sites.sayHello = function () {
    console.log("hello " + sites.site1 + sites.site2);
};

sites.sayHello();	// hello site1 2

3.为对象动态添加属性

如果我们使用以上的方法定义对象是无法做到为对象动态添加属性

let people = {
    name: "hwm",
    age: 18,
    sayHello: ()=> {}
}

people.sex = "man"

以上代码会报错:

3.1 解决方法

定义一个包含数组属性的接口,让对象实现该接口

interface obj {
    [idx: string]: any
}
let people: obj = {}
people.name = "hwm"
people.age = 18
console.log(people)	// { name: 'hwm', age: 18 }

3.2 对象作为参数传递

方法一:

private ParamObj(objT: {name: string, age: number}) {
   let people = objT
    console.log(objT)
}

let people = {name: "hwm", age: 18}
this.ParamObj(people)		// {name: "hwm", age: 18}

方法二:

interface obj {
    [idx: string]: any
}

private ParamObj(objT: obj) {
  	let people = objT
   	console.log(objT)
}

let people:obj = {}
people.name = "lll"
people.age = 20
this.ParamObj(people)	// {name: "lll", age: 20}

3.3 方法返回对象

private ReturnObj(): {name: string, age: number}{
    let people = {name: "hwm", age: 18}
    return people
}

let res = this.ReturnObj()
console.log(res)	// {name: "hwm", age: 18}

3.4 对象数组

let tbl: {<!--{C}%3C!%2D%2D%20%2D%2D%3E-->name: string, age: number}[] = []

总结

到此这篇关于TypeScript为对象动态添加属性的文章就介绍到这了,更多相关TS对象动态添加属性内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 关键字空格替换为逗号的js代码

    关键字空格替换为逗号的js代码

    这个功能主要是方便我们在发布文章时填写关键字的时候,不用切换为英文状态输入逗号,他可以将中文逗号和空格统一转换为英文逗号,提高工作效率。
    2008-11-11
  • 详解如何在JavaScript中无缝地集成和使用Python代码

    详解如何在JavaScript中无缝地集成和使用Python代码

    这篇文章主要目标是帮助诸位理解如何在JavaScript中无缝地集成和使用Python代码,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2023-06-06
  • JavaScript实现动态添加Form表单元素的方法示例

    JavaScript实现动态添加Form表单元素的方法示例

    这篇文章主要介绍了JavaScript实现动态添加Form表单元素的方法,结合实例形式分析了javascript表单元素操作相关函数使用方法与相关注意事项,需要的朋友可以参考下
    2017-08-08
  • 微信小程序利用云函数获取手机号码

    微信小程序利用云函数获取手机号码

    这篇文章主要介绍了微信小程序利用云函数获取手机号码功能,本文通过实例代码给大家讲解的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • Bootstrap3学习笔记(三)之表格

    Bootstrap3学习笔记(三)之表格

    这篇文章主要介绍了Bootstrap3学习笔记(三)之表格的相关资料,需要的朋友可以参考下
    2016-05-05
  • JavaScript实现页面跳转的八种方式

    JavaScript实现页面跳转的八种方式

    这篇文章介绍了JavaScript实现页面跳转的八种方式,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • JavaScript中切割截取字符串的7种方法

    JavaScript中切割截取字符串的7种方法

    在开发中常常会需要截取字符串,而 JavaScript 提供了很多种方法实现截取操作,本文主要介绍了JavaScript中切割截取字符串的7种方法,感兴趣的可以了解一下
    2024-02-02
  • 微信小程序实现tab组件切换动画

    微信小程序实现tab组件切换动画

    tab相对而言用的还是比较多的,但是用起来并没有难,下面这篇文章主要给大家介绍了关于微信小程序全局配置之tab的相关资料,文中通过图文以及示例代码介绍的非常详细,需要的朋友可以参考下
    2022-10-10
  • JavaScript中this的四个绑定规则总结

    JavaScript中this的四个绑定规则总结

    相信大家都知道,ES5及之前时代的JavaScript中this的绑定机制是让很多开发者头疼不已的事情。this 的绑定变化多端,让笔者也吃了不少亏。所以本文总结了this的四条绑定规则,在此记录,以防自己遗忘,也方便他人参考借鉴。下面来一起看看吧。
    2016-09-09
  • JavaScript获取本机IP地址三种常用方式

    JavaScript获取本机IP地址三种常用方式

    在浏览器中使用JavaScript获取本机IP地址是不可行的,因为浏览器的安全策略禁止JavaScript访问这样的信息,这篇文章主要给大家介绍了关于JavaScript获取本机IP地址的三种常用方式,需要的朋友可以参考下
    2023-12-12

最新评论