3、Object vs object vs {}

更加全面学习看这里

ts中,Object表示包含了所有类型(它是全部 Object 类的实例的类型) 。

let Obj1: Object = 11
let Obj2: Object = '11'
let Obj3: Object = [11]
let Obj4: Object = {}
let Obj5: Object = () => { }
let Obj6: Object = { name: 'hl' }

 object 常用于范型约束,代表非原始类型(除了基本类型都是object),可以支持所有的引用类型。

let obj1: object = 11 // 报错 原始类型
let obj2: object = '11' // 报错 原始类型
let obj3: object = true // 报错 原始类型
let obj4: object = [] // 正确
let obj5: object = {} // 正确
let obj6: object = () => { } // 正确

{} 字面量模式,除了null/undefined类型其余均可以赋值给 {} 而不报错。
它描述了一个没有成员的对象。当你试图访问这样一个对象的任意属性时,TypeScript 会产生一个编译时错误。

let a1: {} // 可以理解为 new Object
let a2: Object = '11'
let a3: Object = [11]
let a4: Object = {}
let a5: Object = () => { }
let aa5: Object = null // 报错
let aa6: Object = undefined // 报错
// 注意:{}无法对类型进行任何赋值操作,少用为好
// let a6: {} = { name: 'huangzi' }
// a6.age = 26 // 报错
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值