假设我有一个数组
const myArray = [1,2,3,4]
现在假设我想为这个数组添加属性
myArray.sum = function(){return this.reduce( (a:number,b:number)=>a+b )}
我收到“属性'总和'不存在类型'号[]'”
我怎么在打字稿中这样做?
有两种方法可以做到这一点:
// ignore types
(myArray as any).sum(...);
// patch it
interface X extends Array<number> {
sum(...): number
}
const myArray: X = [1,2,3,4] as X
myArray.sum = function() { ... };
如果它是一次性的,我会在大多数时间做第一次。