一、接口(interface)
作用:用来规定对象的形状
二、数据类型的判断
①instanceof
判断对象属于哪个类,myDog instanceof Dog 即为判断对象是否属于Dog类
②typeof
用于检查数据类型,如 typeof value === "number"
③类型断言
let someValue: any = "this is a string";
let strLength: number = (someValue as string).length;
是告诉我的数据属于什么类型
三、泛型
通俗理解泛型是一个占位符,通过泛型可以增加代码的复用性,例如
interface KeyValuePair<K, V> {
key: K;
value: V;
}
let pair1: KeyValuePair<number, string> = { key: 1, value: "one" };
let pair2: KeyValuePair<string, number> = { key: "two", value: 2 };
/
/
Partial<T>,当使用Partial来定义一个类型T的部分类型时,它会将T中的全部属性变为可选属性
Required<T>,当使用Required来定义一个类型T的部分类型时,与Partial相反,它会把全部属性变为必选属性
Record类型接收两个泛型参数:第一个参数指定对象的键的类型,第二个参数指定对象值的类型。其语法结构为Record<KeyType, ValueType>,其中KeyType表示键的类型,ValueType表示值的类型。