我有这个对象:
o {a : 1, b : 2}
和这个界面:
interface MyInterface {
a : number
}
现在我想得到一个新的对象,这个对象将成为一个交叉点。 o和我的界面:
o2 : {a : 1}
我的目标是将对象发送到等待MyInterface对象的REST服务,并且我不想发送无用的信息。
打字稿是否具有此功能?
答案 0 :(得分:1)
你在这里把事情混在一起。 o
是一个值,与MyInterface
不同,它是一种类型。
您可以使用MyInterface
获取o
与typeof o & MyInterface
类型的交集的类型,但您无法发出类型驱动的值级逻辑(例如,基于接口从对象中提取属性)。
相反,如果用MyInterface
代替某种具体值(一组键,一个类,另一个对象),那么你就可以使用标准的JS方法来交叉"对象和TypeScript应该遵循。
答案 1 :(得分:0)
TypeScript是一种类型系统/ polyfill语言(因为它使异步/等待在ES3 +中工作)。
因此,TypeScript不提供您正在寻找的实用程序功能。