请参见以下最小示例:
interface A {
a: number;
}
interface B {
b: number;
}
interface C {
c: number;
}
type ABC = A | B | C;
type omitA = Omit<ABC, A>;
我无法省略接口,但是,省略字符串属性可以很好地工作。
如何排除该界面?
答案 0 :(得分:5)
Omit
类型用于从类型中删除属性(通过提供其名称作为字符串,数字或符号)。
您正在寻找的是added in version 2.8的Exclude
type ABC = A | B | C;
type omitA = Exclude<ABC, A>;