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>;
这些高级类型操作符可以在 程序中中更灵活地操作和转换类型。根据需求,可以组合使用这些操作符来创建更复杂的类型定义。