私は2つの異なるパターンと説明を見ました。DailyJSおよび他の多くの1つ:Rectangle.prototype = new Shape();
そして、ここにCrockfordがあります。これは、Rectangle.prototype=Shape;だけを意味します。
理論的には、なぜ「新しい」を実行する必要があるのでしょうか。はい、コンストラクター関数を実行します。また、RectangleのプロトタイプにShapeのプロトタイプを割り当てます。ただし、親をプロトタイプに割り当てるだけで継承を実行できるはずです。
その理由はプロトタイプの連鎖なのだろうかと思いました。ケース1の場合、プロトタイプチェーンが作成されるようです。つまり、RectangleプロトタイプにはShapeプロトタイプがあります。2番目のケースでは、RectangleのプロトタイプにはShapeのメソッドのみが含まれますが、Shapeのプロトタイプメソッドは含まれません。
そうですか?どんな考えにも感謝します。