Constantes com arrays ou objetos em JavaScript
Constantes que contêm arrays e objetos funcionam de uma maneira interessante. O JavaScript não permite alterar os valores dessas constantes, mas alterar as propriedades dos objetos e os valores dos elementos dos arrays - é permitido.
Vamos ver com exemplos. Suponha que temos um objeto como este:
const obj = {a: 1, b: 2, c: 3};
Vamos tentar atribuir algo diferente a ele:
obj = 123; // erro
Vamos tentar atribuir outro objeto à constante:
obj = {x: 1, y: 2, z: 3}; // erro
No entanto, se tentarmos alterar uma propriedade do objeto, isso funcionará:
obj.a = '+'; // funciona!
O que será exibido como resultado da execução do seguinte código:
const arr = ['a', 'b', 'c'];
arr[1] = '!';
console.log(arr);
O que será exibido como resultado da execução do seguinte código:
const arr = ['a', 'b', 'c'];
arr = [1, 2, 3];
console.log(arr);
O que será exibido como resultado da execução do seguinte código:
const arr = ['a', 'b', 'c'];
arr = ['a', 'b', 'c'];
console.log(arr);