【TS 二】ts内置类型一览
基本类型
- string:表示字符串类型。
- number:表示数字类型,包括整数和浮点数。
- boolean:表示布尔类型,只有 true 或 false 两个值。
- null:表示空值。
- undefined:表示未定义的值。
对象类型
- object:表示非原始类型,即除了 number、string、boolean、symbol、null 或 undefined 之外的类型。
- Array<T>:表示数组类型,T 是数组中元素的类型。
- Tuple:表示元组类型,是一个固定长度的数组,每个元素的类型可以不同。
- Enum:表示枚举类型,用于定义一组命名常量。
- Any:表示任意类型,可以是任何类型的值。
- Unknown:表示未知类型,类似于 any,但更安全,因为它不能被直接使用。
- Never:表示永远不会发生的值的类型,通常用于表示函数不会返回或总是抛出异常。
- Void:表示没有任何类型,通常用于表示函数没有返回值。
类型操作符
- Type[] 或 Array<Type>:表示数组类型。
- [Type1, Type2, ...]:表示元组类型。
- { [key: string]: Type }:表示对象类型,其中键是字符串,值是 Type 类型。
- keyof Type:表示 Type 类型的所有公共属性的联合类型。
- Type[keyof Type]:表示 Type 类型的所有公共属性的值的联合类型。
type User = {
name: string;
age: number;
isAdmin: boolean;
};
// UserValues 的类型是 string | number | boolean
type UserValues = User[keyof User];
- Partial<Type>:表示 Type 类型的所有属性都变为可选的。
- Required<Type>:表示 Type 类型的所有属性都变为必需的。
- Readonly<Type>:表示 Type 类型的所有属性都变为只读的。
- Record<Keys, Type>:表示一个对象类型,其键是 Keys 类型,值是 Type 类型。
- Pick<Type, Keys>:表示从 Type 类型中选择一组属性 Keys 组成的类型。
- Omit<Type, Keys>:表示从 Type 类型中排除一组属性 Keys 组成的类型。
- Exclude<Type, ExcludedUnion>:表示从 Type 类型中排除 ExcludedUnion 类型的联合类型。
- Extract<Type, Union>:表示从 Type 类型中提取 Union 类型的联合类型。
- NonNullable<Type>:表示从 Type 类型中排除 null 和 undefined 的类型。
- Parameters<Type>:表示函数类型 Type 的参数类型组成的元组类型。
- ReturnType<Type>:表示函数类型 Type 的返回值类型。
- InstanceType<Type>:表示构造函数类型 Type 的实例类型。
- ThisType<Type>:表示在对象字面量中使用 this 时的类型。