私はCのバックグラウンドからjavascriptに来ています。javascriptで、代入演算子を使用して1つのオブジェクトを別のオブジェクトに代入すると、値が1つから別のオブジェクトにコピーされますか、それとも両方が同じデータを指すようになりますか?または、この場合、代入演算子は何かをしますか?
function point_type()
{
this.x = 0;
this.y = 0;
}
var pnt1 = new point_type();
var pnt2 = new point_type();
pnt1.x = 4;
pnt1.y = 5;
pnt2 = pnt1;
pnt1.x = 8;
pnt2.y = 9;
上記の例では、pnt2.xは8に等しいのでしょうか、それとも4に等しいのでしょうか、それとも0に等しいのでしょうか。
はい、私はこれを自分でテストできることを認識しています。コミュニティが答えを出すのを待つ間、私はそれを行います。ただし、私の質問への回答が、この1つの例に回答するだけで一歩進んで、javascriptオブジェクトの動作といくつかのベストプラクティスに光を当てることを期待しています。
フォローアップ
の質問:答えは、参照がコピーされているということのようです。pnt2とpnt1が同じデータを指すようになりました。値がコピーされるようにオブジェクトを設定することは可能ですか?これは通常、JavaScriptでどのように実行されますか?明らかに、このオブジェクトをコピーする必要があるたびに、各属性を個別に設定する必要はありません。