Я знаю, что ES6 еще не стандартизирован, но количество браузеров в настоящее время поддерживает const ключевое слово в JS.
В спецификации указано, что:
Значение константы не может изменяться при повторном присвоении, а константа не может быть повторно объявлена. Из-за этого, хотя это можно объявить константу без ее инициализации, это было бы бесполезно это сделать.
и когда я делаю что-то вроде этого:
const xxx = 6;
xxx = 999;
xxx++;
const yyy = [];
yyy = 'string';
yyy = [15, 'a'];
Я вижу, что все в порядке xxx все еще 6 и yyy есть [].
Но если я делаю yyy.push(6); yyy.push(1);, мой постоянный массив был изменен. Сейчас это [6, 1] и, кстати, я все еще не могу изменить его с помощью yyy = 1;.
Я это ошибка, или я чего-то не хватает? Я попробовал его в последнем хроме и FF29