我有这个对象:
o {a : 1, b : 2}
和这个界面:
interface MyInterface {
a : number
}
现在,我想获得一个新对象,该对象将是o和接口的“交集”:
o2 : {a : 1}
我的目标是将对象发送到等待MyInterface对象的REST服务,而我不想发送无用的信息。
打字稿有为此功能吗?
最佳答案
您在这里把事情混在一起。 o
是一个值,与MyInterface
是一种不同的类型。
使用MyInterface
可以得到o
与typeof o & MyInterface
的交集的类型,但是不能发出类型驱动的值级逻辑(例如,基于接口)。
如果改为用某种具体值(键的数组,类,另一个对象)代替MyInterface
,则可以使用标准的JS方法“相交”对象,并且TypeScript应该遵循。