JavaScriptにおける配列またはオブジェクトを含む定数

配列やオブジェクトを含む定数は、興味深い方法で動作します。JavaScriptはこれらの定数の値そのものを変更することを許可しませんが、オブジェクトのプロパティや配列の要素の値を変更することは可能です。

例を見てみましょう。以下のようなオブジェクトがあるとします:

javascriptconst obj = {a: 1, b: 2, c: 3};

これに別のものを代入してみましょう:

javascriptobj = 123; // エラー

定数に別のオブジェクトを代入してみましょう:

javascriptobj = {x: 1, y: 2, z: 3}; // エラー

しかし、オブジェクトのプロパティを変更しようとすると、これは機能します:

javascriptobj.a = '+'; // 動作します!
Задание 1

以下のコードを実行した結果、何が出力されるでしょうか:

javascriptconst arr = ['a', 'b', 'c'];
arr[1] = '!';
console.log(arr);
Задание 2

以下のコードを実行した結果、何が出力されるでしょうか:

javascriptconst arr = ['a', 'b', 'c'];
arr = [1, 2, 3];
console.log(arr);
Задание 3

以下のコードを実行した結果、何が出力されるでしょうか:

javascriptconst arr = ['a', 'b', 'c'];
arr = ['a', 'b', 'c'];
console.log(arr);