2012-10-03 11 views
14

「組み込み」型の1つを増やす方法はありますか?例えばArray? JSでTypeScript:組み込み型を拡張する

、私は

Array.prototype.shuffle = function() { ... }; 

ような何かをしたい活字体の等価は何ですか?

interface Array { 
    shuffle:() => any; // <-- Whatever signature you want. 
} 

そしてタイプが新機能を含むように拡張された(そして、あなたがそれに署名を照合機能を割り当てることができます):

答えて

20

タイプはあなただけ書くことができますので、活字体で「オープンエンド」されています。

しかし、組み込み型(lib.d.tsの配列など)を拡張すると、言語サービスで現在問題が発生しています。これは、内部的にバッファリングされるためです。対処方法は、http://typescript.codeplex.com/workitem/4に書き込んで、VSの言語サービスでエラーのない組み込み型を拡張してください。

+4

更新されたworkitem:http://typescript.codeplex.com/workitem/176 – basarat

+0

これは静的関数に対してどのように機能しますか? – georgiosd

+0

更新された回避策へのリンクはありますか? –

関連する問題