Ключевое слово третьего объявления, введенное ES6, аналогично Let: const.
Взгляните на использование:
const c1 = 1; const c2 = {}; const c3 = []; Object.getOwnPropertyDescriptor (Window, "c1") // Object {value: 1, writeable: false, перечисляется: true, настраивается: false}В приведенном выше примере говорится, что вы не можете присвоить значения C2, но содержание C2 может быть изменено, потому что C2 является объектом. Смотрите пример:
c2.p1 = 1;
Точно так же вы также можете добавить элементы в C3, потому что C3 - это массив.
Есть еще одна проблема с постоянным объявлением констант, то есть объявление и инициализация должны быть вместе, и после объявления оно должно быть инициализировано:
«Использовать строго»; const C4; // uncaught syntaxError: неожиданный токен;
Если вы удалите полуколон, вы все равно сообщите об ошибке. Здесь мы не будем обсуждать ситуацию в нетронутом режиме. Если вы заинтересованы, вы можете попробовать самостоятельно.
Переменные, объявленные Const, аналогичны тем, которые объявлены Let. Разница состоит в том, что переменные, объявленные CONST, могут быть присвоены только значениями во время объявления и не могут быть изменены по желанию, в противном случае это приведет к синтаксису (ошибка синтаксиса).
const max_cat_size_kg = 3000; // исправить max_cat_size_kg = 5000; // Синтаксическая ошибка (SyntaxError) max_cat_size_kg ++; // Хотя это изменилось, он все еще вызывает ошибки синтаксиса
Конечно, дизайн спецификации достаточно мудр. После объявления переменных с помощью CONS, вы должны присвоить значения, в противном случае также будет выброшена синтаксическая ошибка.
const thefairest; // это все еще синтаксическая ошибка, вы несчастный парень