学习TypeScript 加餐环节
对object、Object 以及{} 这三个类型加强理解
Object
Object类型是所有Object类的实例的类型。 由以下两个接口来定义:
Object接口定义了Object.prototype原型对象上的属性;
ObjectConstructor接口定义了 Object 类的属性, 如上面提到的Object.create()。这个类型是跟
原型链有关的原型链顶层就是Object,所以值类型和引用类型最终都指向Object,所以Object就表示包含了所有的类型,它可以等于任何一个值// 1. Object 可以包含所有类型 let a:Object = 123 let a1:Object = '123' let a2:Object = [] //数组 let a3:Object = {} //对象 let a4:Object = ()=>123 //函数
objectobject 代表所有非值类型的类型,例如 数组 对象 函数等,常用于泛型约束
// 2. object 常用于 泛型约束 // 代表非原始类型的一个类型 // let b:object = '123' //错误 字符串属于原始类型,不支持 // let b1:object = 123 //错误 数字也是原始类型 // let b2:object = false //错误 布尔类型也是原始类型 let b3:object = [] //正确 支持数组 let b4:object = {} //正确 支持对象 let b5:object = ()=>123 //正确 支持函数{} 空对象 可以理解成 new Object
特性与Object一样 但是无法对变量进行任何赋值的操作 该类型比较少用
// 3. {} 空对象 可以理解成 new Object // 特性与Object一样 但是无法对变量进行任何赋值的操作 该类型比较少用 let c:{} = 123 let c1:{} = '123' let c2:{} = [] let c3:{} = {name:1} //赋值后无法进行修改 // c3.age = 3 let c4:{} = ()=>123
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果

