有一种方法可以跳过某些类型

时间:2019-08-27 17:13:47

标签: typescript

我有类型

type Person = { id: string; name: boolean; su:number }

使用“忽略”可以跳过某些属性。

type Sedra = Omit<Person, "su"|"id">;
// {name: boolean;}

打字稿中有一种方法可以跳过某些类型。

示例

 type Sedra = OmitType<Person, boolean|number >;
    // {id: string;}

有OmitType类型吗?

1 个答案:

答案 0 :(得分:2)

您可以制作一个:

gender

通过使用mappedconditional类型来筛选与值type KeysMatching<T, V> = { [K in keyof T]-?: T[K] extends V ? K : never }[keyof T]; type OmitType<T, V> = Omit<T, KeysMatching<T, V>>; 匹配的T的键,然后在其上使用V 。 (不清楚Omit是否具有一些可选属性或索引签名,但是由于您没有问,我只是作了一些假设。)

您可以验证它是否有效:

T

希望有所帮助;祝你好运!

Link to code