継承を使用すると、TypeScript コンパイラによって __extends 関数が生成されます。古いバージョンの tsc コンパイラは、このようなものを生成しました
var __extends = this.__extends || function (d, b) {
function __() { this.constructor = d; }
__.prototype = b.prototype;
d.prototype = new __();
};
これは、b のインスタンスを d のプロトタイプ チェーンとして設定します。それは私が手でやりたいことでもあります。
最新バージョン (0.9) では、プロパティ/メソッド参照のコピーが追加されていますが、これは私には不必要に見えます:
var __extends = this.__extends || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
__.prototype = b.prototype;
d.prototype = new __();
};
誰かがこれの理由を知っていますか?