Javascriptがオブジェクトを処理する方法を明確にするための(うまくいけば)簡単な質問です。私はJSに慣れていないので、少し驚きました。それで、再確認したいと思います。
オブジェクトがあるとしましょう:
function food(price) {
this.price = price || 100;
}
var myFood = new food(100);
次に、このオブジェクトを2つの配列に格納します。
var foo = [];
var bar = [];
foo.push(myFood);
bar.push(myFood);
ここで行っているのはmyFoodへの参照を保存することだけだと思っているのは正しいですか?オブジェクトのコピーを作成していませんか?だから私がそうするなら、言う:
foo[0].price = 50;
bar [0] .priceもmyFoodへの参照を格納するため、50になりますか?実際に価格に影響を与えたのはmyFoodであり、fooやbarではありませんか?
よろしくお願いします!より広い投稿の一部としてこの問題に言及しているスタックオーバーフロースレッドをいくつか見ましたが、念のためにすべてをレイアウトしたかっただけです!よろしくお願いします