1.object
object(首字母小写)类型是TS中新增的类型,用于表示非原始类型
在TS中原始类型有number、boolean、string、bigint、symbol。
因此object表示除此以外的全部类型
以下赋值代码会引起编译错误
let a: object;
//编译错误:不能将类型"number"分配给类型"object"。ts(2322)
a = 1;
//编译错误:不能将类型"bigint"分配给类型"object"。ts(2322)
a = 1n;
//编译错误:不能将类型"boolean"分配给类型"object"。ts(2322)
a = true;
//编译错误:不能将类型"string"分配给类型"object"。ts(2322)
a = "";
//编译错误:不能将类型"symbol"分配给类型"object"。ts(2322)
a = Symbol();
以下为正确代码
let a: object;
a = { name: "hello" };
a = [0, 1, 2, 3];
a = function () { console.log("hello") };
a = new Date(); //时间对象,它是一种内置对象,后面将详细介绍
注意:当对象为object类型时,因为object类型是一种泛指的类型,并不是具体的类型,因此无法得知它支持哪些属性或者方法,需要将其转换为具体的类型