gpt4 book ai didi

typescript - 如何从两种类型中选择共同属性?

转载 作者:行者123 更新时间:2023-12-05 02:51:53 27 4
gpt4 key购买 nike

我想通过仅选择两种类型中都存在的成员来创建类型:

interface A {
X: number;
Y: number;
}
interface B {
Y: number;
Z: number;
}

type C = Common<A, B>; // { Y: number; }

是否有内置的实用程序类型、命题或常用模式来实现这一点?

注意:我能够编写以下实用程序类型,但我认为这很难推理

type Common<T1, T2> = Omit<T1, keyof Omit<T1, keyof T2>>

但是,有没有什么

最佳答案

您可能会发现这更容易阅读:

type C = Pick<A | B, keyof A & keyof B>; // { Y: number; }

它从 A 和 B (A | B) 的总和中挑选 (Pick) 公共(public)属性 (keyof A & keyof B) .

关于typescript - 如何从两种类型中选择共同属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62909816/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com