質問: JavaScriptのArray.prototypeにflattenメソッドを差し込むと便利です(標準クラスにメソッドを差し込むのはやめろというのはわかりますがそこはごめんなさいするとして)。 便利なのですが、それをTypeScriptで型安全に呼べるようにしようとすると、型宣言の仕方がわかりませんでした。 こんな感じに書ければ宣言できたことになると思うのですが ``` interface Array { flatten(): T[]; } ``` これはコンパイルが通りません。宣言する方法ってないのでしょうか。
回答: recursive type definitions · Issue #3496 · Microsoft/TypeScript どうやら無限にネストするやつは型宣言対応無理っぽい...? (途中で提案されてるやつも現段階ではシンタックスエラーになりますね)