三(五)ts非基础类型(对象)

在ts里面定义对象的方式也有很多。

普通定义

let obj1:{} = {}
// obj1.name = 'fufu'  报错,只能定义为空对象且不能修改
// 但是可以在赋初始值的时候直接添加属性,这是ts在类型推断时,它会宽容地匹配对象的结构。
let obj2:{} = {name: 'fufu'}
// obj2.name = 'dandan'  依旧报错,不能修改
let obj3:{name: string} = {name: 'fufu'}
obj3.name = 'dandan'
// obj2.age =20  报错,只能修改定义的属性

let obj4:object = {}
// obj4.name = 'fufu' 报错,只能定义为空对象且不能修改
// 但是可以在赋初始值的时候直接添加属性,这是ts在类型推断时,它会宽容地匹配对象的结构。
let obj5:object = {name: 'fufu'}
// obj5.name = 'dandan'  依旧报错,不能修改
let obj6:object = {name: 'fufu'}

接口定义

定义对象最常用的方式还是使用接口

interface User {
    name: string,
    age: number
}

let personL: User = {name: 'fufu', age: 20}

定义数组对象

interface Tree {
    children: {
        [index: number]: any
    }
}

let treeList: Tree = { children: [{ name: 'fufu' }] }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值