まず、何かをしなかった、ブラウザのオブジェクトインスタンスを見て
新しい4つのステップ:
1.空のオブジェクトを作成します。
プロトタイプオブジェクトに空のオブジェクトのコンストラクタのプロパティの継承、すなわちパブリックプロパティメソッドやコンストラクタを継承__proto__プロトタイププロパティを設定2。
3.コンストラクタを呼び出して、このオブジェクトのコンストラクタは、この空に置き換えられ、constructorプロパティを継承
4.関数内で新しいオブジェクトを返します。
ソースコードの実装
myNew関数(FUN){
return関数(){
//新しいオブジェクトとその暗黙のコンストラクタプロトタイププロトタイプポイントを作成
LET {OBJ =
__proto__:fun.prototype
}
//コンストラクタが実行され
fun.call(OBJを、.. .arguments)
//が返すオブジェクト
戻りOBJ
}
}
関数人(名前、年齢){
this.name名=
this.age =年齢
}
LET OBJ =( 'チェン'、18)はmyNew(人物){//名前: "陳"、年齢:18}