При объединении функций в 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}`));
Как я могу расширить анонимный объект без повторного определения всех свойств, сохраняя при этом строгую типизацию?