私はコンストラクタについて勉強していたので、new
キーワードを見つけました。new演算子はどこに新しいオブジェクトを作成しますか?
var obj = new myContructor();
私は、それが新しいオブジェクトを作成したことを知ったconstructor.prototype
としてのプロトタイプを設定し、this
キーワードで応じてそのプロパティを設定し、最後にそのオブジェクトを返します。
ここでは、新しいオブジェクトをどこに作成するのか、内部のメモリとして、またはどこが揮発性であるのかと混同しています。
オブジェクトを返すと、var objの場所に新しいオブジェクトのコピーが作成されるか、新しいオブジェクトが作成された場所にobjが参照されますか?
ThisBindingは、オブジェクトへの参照を保持する特殊なCPUレジスタのように、JavaScriptインタプリタがJavaScriptコードを評価する際に維持するものです。インタプリタは、3つの異なるケースのうちの1つで実行コンテキストを確立するたびにThisBindingを更新します。 [THIS](http://stackoverflow.com/questions/3127429/how-does-the-this-keyword-work)のリンクを確認してください。 – Shubham
私はこれをあまりにも広範囲に閉じていますが、これはいくつかの投稿と重複する可能性があります。 MDNで説明されています。 – Jai
オブジェクトはJavaScriptランタイムによって管理されるヒープ上に作成されます。オブジェクトは「参照の値」によって渡されるため、ヒープ内のメモリ位置に対応する数値が返されます(参照)。この番号(別名「参照」)はコピーされます。オブジェクト全体をコピーするのは非常に高価で、あなたが普通にやりたいことではありません。 – Ben