2017-05-14 6 views
0

は、私は今、私は私が受け取るこの配列Typscript、猿パッチングArrayインスタンス(グローバルでない)

myArray.sum = function(){return this.reduce((a:number,b:number)=>a+b)}

にプロパティを追加するアレイ

const myArray = [1,2,3,4]

を想定していると仮定します"プロパティ 'sum'がタイプ 'number []'に存在しません"

Typescriptでこれを行うにはどうすればよいですか?

答えて

2

これを行うには2つの方法があります。

// 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() { ... }; 

それは一回限りであれば、私は時間の最初の1ほとんどを行うだろう。

関連する問題