JavaScriptにおける配列またはオブジェクトを含む定数
配列やオブジェクトを含む定数は、興味深い方法で動作します。JavaScriptはこれらの定数の値そのものを変更することを許可しませんが、オブジェクトのプロパティや配列の要素の値を変更することは可能です。
例を見てみましょう。以下のようなオブジェクトがあるとします:
const obj = {a: 1, b: 2, c: 3};
これに別のものを代入してみましょう:
obj = 123; // エラー
定数に別のオブジェクトを代入してみましょう:
obj = {x: 1, y: 2, z: 3}; // エラー
しかし、オブジェクトのプロパティを変更しようとすると、これは機能します:
obj.a = '+'; // 動作します!
以下のコードを実行した結果、何が出力されるでしょうか:
const arr = ['a', 'b', 'c'];
arr[1] = '!';
console.log(arr);
以下のコードを実行した結果、何が出力されるでしょうか:
const arr = ['a', 'b', 'c'];
arr = [1, 2, 3];
console.log(arr);
以下のコードを実行した結果、何が出力されるでしょうか:
const arr = ['a', 'b', 'c'];
arr = ['a', 'b', 'c'];
console.log(arr);