【发布时间】:2016-08-02 23:51:18
【问题描述】:
当在typescript 中使用匿名类型链接功能时,例如:
let array = [{ seed: 2 }, { seed: 3 }];
array
.map(i => ({ seed: i.seed, square: i.seed * i.seed }))
.forEach(i => console.log(`square for ${i.seed} is ${i.square}`));
我需要为地图函数定义新的匿名类型。如果我将有多个步骤都生成新属性,我最终会编写大量定义代码来获取所有属性。
我可以使用$.extend(或Object.assign),但那样我会失去智能感知和强类型。
array
.map(i => $.extend(i, { square: i.seed * i.seed }))
.forEach(i => console.log(`square for ${i.seed} is ${i.square}`));
如何在不重新定义所有属性的情况下扩展匿名对象,同时保持强类型化?
【问题讨论】:
标签: typescript intellisense strong-typing