オブジェクトの参照値

const obj = { value: 100 };
const objCopy = obj;
objCopy.value = 5;
console.log(obj.value); // 5
console.log(objCopy.value); // 5
// 関数の引数にオブジェクトを渡すと、オブジェクトではなく参照値が渡されます。
// このため関数の中でオブジェクトを変更すると呼び出し元のオブジェクトが変更されるという結果になります。

// オブジェクトのプロパティを変更する関数
function func(obj) {
  obj.value = 100;
}

const object = { value: 0 };

// 関数を呼び出す
func(object);

// 0ではなく100と表示される
console.log(object.value);