我想知道它是否具有以下任何功能。我尝试了Google,但找不到。谢谢!
interface Numbers {
number: number;
number2: number;
number3: number;
}
const numbers:Numbers - { number3 } = {
number: 1,
number2: 2
};
Run Code Online (Sandbox Code Playgroud)
编辑
从Typescript 3.5开始,Typescript Omit是预定义类型的一部分。
原始答案
您可以在2.8中使用新的Exclude条件类型和Pick映射类型来执行此操作
type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
interface Numbers {
number: number;
number2: number;
number3: number;
}
const numbers:Omit<Numbers, 'number3'> = {
number: 1,
number2: 2
};
Run Code Online (Sandbox Code Playgroud)
在2.8之前Omit可以这样定义:
type Diff<T extends string, U extends string> = ({[P in T]: P } & {[P in U]: never } & { [x: string]: never })[T];
type Omit<T, K extends keyof T> = Pick<T, Diff<keyof T, K>>;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
456 次 |
| 最近记录: |