1. ホーム
  2. typescript

TypeScriptでの配列の拡張

2023-10-16 14:34:58

質問

基本型(例えばArray)にメソッドを追加する方法は?グローバルモジュールでは、これは認識されます

interface Array {
   remove(o): Array;
}

が、実際の実装はどこに置けばいいのか?

どのように解決するのですか?

Arrayを拡張するためのプロトタイプを使用することができます。

interface Array<T> {
    remove(o: T): Array<T>;
}

Array.prototype.remove = function (o) {
    // code to remove "o"
    return this;
}

モジュール内であれば、グローバルな Array<T> を参照しているのであって、ローカルな Array<T> インターフェースを作成するのではありません。

declare global {
    interface Array<T> {
        remove(o: T): Array<T>;
    }
}