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 // 报错