TypeScript 提供了许多高级类型操作符,用于处理和转换类型。以下是一些常用的高级类型操作符及其用法:
-
Partial<T>:将类型T中的所有属性变为可选。type MyPartial = Partial<MyObject>; -
Required<T>:将类型T中的所有属性变为必需。type MyRequired = Required<MyPartial>; -
Readonly<T>:将类型T中的所有属性变为只读。type MyReadonly = Readonly<MyObject>; -
Pick<T, K>:从类型T中选择指定键类型K的属性。type MyPick = Pick<MyObject, 'id' | 'name'>; -
Record<K, T>:创建一个具有指定键类型K和值类型T的对象类型。type MyRecord = Record<string, number>; -
Exclude<T, U>:从类型T中排除可以赋值给类型U的属性。type MyExclude = Exclude<'a' | 'b' | 'c', 'a' | 'b'>; -
Extract<T, U>:从类型T中提取可以赋值给类型U的属性。type MyExtract = Extract<'a' | 'b' | 'c', 'a' | 'b'>; -
Omit<T, K>:从类型T中排除指定键类型K的属性。type MyOmit = Omit<MyObject, 'id'>; -
NonNullable<T>:从类型T中排除null和undefined。type MyNonNullable = NonNullable<string | null | undefined>; -
ReturnType<T>:获取函数类型T的返回类型。type MyReturnType = ReturnType<() => string>;
这些高级类型操作符可以在 程序中中更灵活地操作和转换类型。根据需求,可以组合使用这些操作符来创建更复杂的类型定义。