JavaScriptで値渡しと参照渡しについて
開発環境は、Windows7 Professional(32bit) + Firefox 61.0.1(32bit)。
値渡し - 値を変更しても元のデータは変わらない
let x = 10; let y = 12; y = 12; console.log(y); // 12 console.log(x); // 10
参照渡し - 値を変更すると元のデータが変わってしまう
データの値を別の変数にコピーして、それぞれで違う処理をさせようと思ったら、詰まってしまう。
// 配列 let arr = [1,2,3]; let arr2 = arr; arr2[1] = 10; console.log(arr2); // [1,10,3] console.log(arr); // [1,10,3] // オブジェクト let obj1 = { value: 10 }; let obj2 = obj1; obj2.value = 20; console.log(obj2); // Object { value: 20 } console.log(obj1); // Object { value: 20 }