Константы, содержащие массивы и объекты, работают интересным образом. 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);