TS将不存在的道具添加到具有呼叫签名的对象中

时间:2019-01-19 08:06:49

标签: javascript typescript

在打字稿中,如果对象的类型具有调用签名,则会有更多的方法和属性(例如applylength等),它们是从功能。现在,ES2015已将Proxy添加到语言中,我们可以将对象与其他原型伪装成函数,如何防止TS添加不存在的道具?

例如,

interface AA {
  (): void;
  abc: number;
}
const aa: AA = new Proxy({ abc: 12345 }, {
  apply() { console.log('aa~') }
});

在我看来,aa的原语是Object,并且只有道具abc,但是TS会提示其他道具。

0 个答案:

没有答案