Object、object和{}
object、Object和{}三个类型是有差别的
Object
Object类型是所有Object类的实例的类型,由以下两个接口来定义
- Object接口定义了
Object.prototype
原型对象上的属性; - ObjectConstructor接口定义了Object类的属性, 如
Object.create()
Object类型和原型链有关,因为原型链顶层就是Object,所以所有基本类型和引用类型最终都指向Object
1 | let a: Object |
object
object代表所有引用类型,例如数组、对象、函数等,常用于泛型约束
1 | let a: object |
{}
相当于new Object(),就和Object类型基本一样,包含几乎所有类型,但只能被整体赋值,不能修改属性和方法
1 | let a: {} |
评论