これは難しい質問になります。コンストラクタを持つ:
var Constructor = new function(){
this.a = 'a';
this.b = 'b';
}
オブジェクトを作成できます。
var obj = new Constructor();
this in Constructor は window を参照しますが、 new Constructor() を呼び出すと、いくつかの魔法が行われます:これは、それが含まれる関数のスコープを見つけ (正確にはどのように機能しますか?)、そのスコープのみを obj に割り当てると返されます。したがって、基本的には次のようなことをしています:
var Constructor = new function(){
var this = {some object having variables needed for every object (like __proto__)}
this.a = 'a';
this.b = 'b';
return this;
}
JSで新しいオブジェクトを作成するこのメカニズムが低レベルでどのように機能しているのか、誰か教えてもらえますか? newを呼び出すときに、その下で正確に何が行われているのでしょうか?