Lie*_*ero 4 typescript typescript-generics
我想通过仅选择两种类型中都存在的成员来创建类型:
interface A {
X: number;
Y: number;
}
interface B {
Y: number;
Z: number;
}
type C = Common<A, B>; // { Y: number; }
Run Code Online (Sandbox Code Playgroud)
是否有内置的实用程序类型、命题或常用模式来实现此目的?
注意:我能够编写以下实用程序类型,但我认为很难推理
type Common<T1, T2> = Omit<T1, keyof Omit<T1, keyof T2>>
Run Code Online (Sandbox Code Playgroud)
然而,有没有什么
您可能会发现这更容易阅读:
type C = Pick<A | B, keyof A & keyof B>; // { Y: number; }
Run Code Online (Sandbox Code Playgroud)
它从 A 和 B 的和 ( ) 中选取 ( Pick) 共同属性 ( ) 。keyof A & keyof BA | B
| 归档时间: |
|
| 查看次数: |
1200 次 |
| 最近记录: |