我有这个对象:

o {a : 1, b : 2}


和这个界面:

interface MyInterface {
    a : number
}


现在,我想获得一个新对象,该对象将是o和接口的“交集”:

o2 : {a : 1}


我的目标是将对象发送到等待MyInterface对象的REST服务,而我不想发送无用的信息。

打字稿有为此功能吗?

最佳答案

您在这里把事情混在一起。 o是一个值,与MyInterface是一种不同的类型。

使用MyInterface可以得到otypeof o & MyInterface的交集的类型,但是不能发出类型驱动的值级逻辑(例如,基于接口)。

如果改为用某种具体值(键的数组,类,另一个对象)代替MyInterface,则可以使用标准的JS方法“相交”对象,并且TypeScript应该遵循。

09-10 12:01
查看更多