Hằng số với mảng hoặc đối tượng trong JavaScript
Các hằng số chứa mảng và đối tượng hoạt động theo một cách thú vị. JavaScript không cho phép thay đổi giá trị của các hằng số này, nhưng thay đổi thuộc tính của đối tượng và giá trị phần tử của mảng - thì có thể.
Chúng ta hãy xem xét qua các ví dụ. Giả sử chúng ta có một đối tượng như sau:
const obj = {a: 1, b: 2, c: 3};
Hãy thử gán cho nó một thứ khác:
obj = 123; // lỗi
Hãy thử gán cho hằng số một đối tượng khác:
obj = {x: 1, y: 2, z: 3}; // lỗi
Tuy nhiên, nếu chúng ta thử thay đổi thuộc tính của đối tượng, thì điều này sẽ hoạt động:
obj.a = '+'; // hoạt động!
Điều gì sẽ được hiển thị kết quả của việc thực thi mã sau:
const arr = ['a', 'b', 'c'];
arr[1] = '!';
console.log(arr);
Điều gì sẽ được hiển thị kết quả của việc thực thi mã sau:
const arr = ['a', 'b', 'c'];
arr = [1, 2, 3];
console.log(arr);
Điều gì sẽ được hiển thị kết quả của việc thực thi mã sau:
const arr = ['a', 'b', 'c'];
arr = ['a', 'b', 'c'];
console.log(arr);