TS 对象,为对象动态添加属性

这篇具有很好参考价值的文章主要介绍了TS 对象,为对象动态添加属性。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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"

以上代码会报错:
TS 对象,为对象动态添加属性

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}

方法二:文章来源地址https://www.toymoban.com/news/detail-512880.html

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: {name: string, age: number}[] = []

到了这里,关于TS 对象,为对象动态添加属性的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 面试题-TS(二):如何定义 TypeScript 中的变量和函数类型?

    面试题-TS(二):如何定义 TypeScript 中的变量和函数类型? 一、 变量类型的定义 在TypeScript中,我们可以使用冒号(:)来指定变量的类型。以下是一些常见的变量类型: 布尔类型(boolean):表示true或false的值。 数字类型(number):表示数字值。 字符串类型(string):表示文本值

    2024年02月15日
    浏览(42)
  • JS判断对象、数组是否包含某个属性、某个值

    可以使用以下几种方法来判断对象是否包含某个属性: 1. in 操作符: 使用 in 操作符可以检查对象是否包含指定的属性。它会检查对象及其原型链上的所有属性。 2. hasOwnProperty() 方法: hasOwnProperty() 是对象的内置方法,用于检查对象自身是否具有指定的属性(不包括原型链上

    2024年02月09日
    浏览(73)
  • Cocos Creator 定义属性指南(JS和TS)

    目录 简单说明 1.TS写法 2.JS写法 这是一个Cocos Creator 如何定义脚本属性的指南。 我这边整理了两个版本,JS和TS,如果还有其他方式,欢迎您的留言。 对我个人来说,刚开始写枚举和数组的时候会有点不习惯。还经常容易忘记怎么写。 在cocos creator 3.x 中官方主推的是:Type

    2024年02月14日
    浏览(34)
  • js向对象添加属性

    1、使用 对象.属性名 添加 2、使用 对象[属性名]添加 3、使用 prototype添加

    2024年02月09日
    浏览(45)
  • 给对象添加新的属性

    使用点 使用方括号 使用assign 也以用来复制对象。 扩展运算符 ES6新增语法,可以将两个对象合并成一个对象。

    2024年02月12日
    浏览(39)
  • 在 Python 中为对象添加属性

    我们将介绍如何在 Python 中为对象添加属性。 我们还将通过示例介绍如何在 Python 中更改对象的属性。 在 Python 中,我们时常使用对象,因为 Python 是一种面向对象的语言。 对象使我们的代码可重用并易于实现复杂的结构。 对象的主要部分是它们的属性。 属性定义某个对象的

    2024年02月08日
    浏览(40)
  • 04、javascript 修改对象中原有的属性值、修改对象中原有属性的名字(两种方式)、添加对象中新属性等的操作

    其一、代码为: // 想将 obj 中的 flag 值,根据不同的值来变化(即:修改对象中原有的属性值); 其二、页面展示为: 其三、 js 中 for-in 的用法: // for-in 是一种特殊的 for 循环 专门用来循环对象; 注意:普通的 for 循环 可以单独循环、可以循环数组、可以伪数组、但无法循环

    2024年02月09日
    浏览(41)
  • vue3向对象中添加属性

    使用场景:后端返回一个数组对象结构,会出现可能需要前端自己向对象中添加一个新的字段   在vue2中我们常常会遇到明明已经改变了数据,视图却没有实时更新这样的问题 这时vue2就提供了一个方法就是$set 但是在  vue3  中,$set 被废除了,vue3中的数据响应式是用的  ES

    2024年02月13日
    浏览(44)
  • js在数组对象中添加和删除键值对(对象属性)的方法

    添加 1.Object.assign():用法-Object.assign(源对象, {要添加的键值对}) 2.拓展运算符(...):用于取出参数对象所有可遍历属性然后拷贝到当前对象 3.object[key] = value:直接给新的key赋值 删除 1.将属性设置为 undefined:属性本身仍将存在于对象中,它还会改变原始对象。 2.使用 delete 操

    2024年02月14日
    浏览(55)
  • uniapp小程序:追加数组中的对象属性,属性数据已经添加,视图不会改变

    场景复现: 由于业务需要,需要给数组中的每一个对象添加一个ischecked属性(Boolean)来控制复选框的选中状态,于是: 注意:buycargoodslists为数据源,初始数据源没有定义isChecked属性 结果可想而知,在控制台查看操作后的数据源buycargoodslists:确实属性isCheck已经插进去了,但

    2024年02月12日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包