交叉类型
将多个类型进行合并成一个类型
type Person = { name: string; age: number; }
type Employee = Person & { employeeId: number; }
联合类型
联合类型通过|
符号连接多个类型从而生成新的类型。它主要是取多个类型的交集,即多个类型共有的类型才是联合类型最终的类型
type StringOrNumber = string | number;
索引签名
定义对象的属性类型和键类型
通过索引签名,可以定义对象的键和值的类型
interface StringArray { [index: number]: string; }
Enum
枚举是一个为一组相关值定义名字的方式。它是一种为一组常量赋予友好名字的方式,可以是数字或字符串。枚举使代码更具可读性和维护性。
enum Flag { success = 1, error = -1, '枚举' = 2, other, } let f: Flag = Flag.success console.log(f) 1 console.log(Flag.error) -1 console.log(Flag['枚举']) 2 // 不赋值,索引值 console.log(Flag.other) 4
interface User { id: number; name: string; age: number; email: string; }
Partial
将一个类型的所有属性变为可选的
// 创建一个所有属性都是可选的 User
类型
let partialUser: Partial<User> = {};
Pick
从一个类型中选择一组属性,并构造一个新的类型
// 创建一个新的类型,只包含 id 和 name 属性 type UserIdAndName = Pick<User, 'id' | 'name'>;
Omit
从一个类型中排除指定的属性并构造一个新的类型
// 创建一个新的类型,排除 email 属性: type UserWithoutEmail = Omit<User, 'email'>;标签:string,ts,特性,number,Flag,api,类型,type,属性 From: https://www.cnblogs.com/ssszjh/p/18289114