Tôi biết rằng ES6 chưa được chuẩn hóa, nhưng rất nhiều trình duyệt hiện hỗ trợ const
từ khóa trong JS.
Trong đặc tả, nó được viết rằng:
Giá trị của một hằng số không thể thay đổi thông qua việc gán lại và một hằng số không thể được khai báo lại. Do đó, mặc dù có thể khai báo một hằng số mà không cần khởi tạo nó, nhưng làm như vậy sẽ vô ích.
và khi tôi làm điều gì đó như thế này:
const xxx = 6;
xxx = 999;
xxx++;
const yyy = [];
yyy = 'string';
yyy = [15, 'a'];
Tôi thấy rằng tất cả mọi thứ là ok xxx
vẫn còn 6
và yyy
là []
.
Nhưng nếu tôi làm vậy yyy.push(6); yyy.push(1);
, mảng hằng số của tôi đã bị thay đổi. Ngay bây giờ nó là [6, 1]
và bằng cách này tôi vẫn không thể thay đổi nó với yyy = 1;
.
Tôi đây là một lỗi, hay tôi đang thiếu một cái gì đó? Tôi đã thử nó trong chrome và FF29 mới nhất