この解答例はChatGPTによって生成されています,正しいかは自己判断で。 皆の投稿からも解答例が見つかるかもしれませんよ。
BFE.devでのAI解答例 - JavaScript コーディング問題
53. es5で `extends`を実装する
解答例:
function myExtends(SuperType, SubType) { function F() {}; F.prototype = SuperType.prototype; SubType.prototype = new F(); SubType.prototype.constructor = SubType; return SubType;}const InheritedSubType = myExtends(SuperType, SubType)const instance = new InheritedSubType()
myExtends() は、新しい F() 関数を作成し、 SuperType.prototype を F() に割り当て、それを SubType.prototype のプロトタイプに設定します。そして、 SubType.prototype.constructor を再設定し、 SubType を返します。
この例外は SubType に SuperType のプロトタイプを設定することで、 SubType は継承されるのと同じメソッドとプロパティを持ちます。 instance の例は InheritedSubType のインスタンスを作成するために使用されるものです。