Особенности ES2015 (ES6), о которых я хочу рассказать, это const и let. Мы можем использовать const и let для объявления новой переменной. Я хочу объяснить основы различий const, var и let.

Константа

Переменная «const» не может быть переназначена или переобъявлена. Я бы сказал, что это переменная только для чтения. Мы используем это, когда хотим объявить переменные и знаем, что не хотим менять значение позже. Это область действия блока. Это означает, что вы не можете получить доступ к переменным вне блока {} после того, как они были объявлены внутри блока {}. Позвольте мне показать несколько примеров следующим образом:

Как вы можете видеть ниже, мы не можем повторно объявить const, потому что отображается ошибка «Uncaught SyntaxError: Identifier ‘test’ уже объявлен».

Ну, а если мы попытаемся переназначить переменную? Он кричал мне, что «Uncaught TypeError: присвоение постоянной переменной». Поэтому вы не можете переназначить эту переменную.

Пусть

Переменная let не может быть повторно объявлена, но может быть переназначена. Это область действия блока. Мы выбираем эту переменную, когда хотим переназначить значение позже. Мы должны объявить переменные, прежде чем использовать их.

Попытка повторно объявить переменную «let» ниже показывает ошибку «Uncaught SyntaxError: идентификатор «test» уже объявлен». Это очевидно показывает, что мы не можем объявить повторно после того, как уже объявили это.

Затем я попытался переназначить значение с «Привет» на «Привет», и результат, когда мы используем console.log(), — «Привет» и не выдает никаких ошибок. Он успешно переназначает переменную.

Когда мы используем console.log() для просмотра значения «i», которое выходит за рамки {}, оно выдает ошибку «Uncaught ReferenceError: i не определено». Это потому, что let является блочной областью. Как я объяснял ранее, мы не можем получить доступ к переменным вне блока {}.

Вар

Переменная «var» может быть переназначена и объявлена ​​заново. Это область видимости функции или глобальная область видимости. К нему можно получить доступ вне области видимости. Мы должны избегать использования «var», потому что это может привести к ошибкам, если разработчики объявят переменные и объявят их снова.

Как видно ниже, это показывает, что мы можем переназначить и повторно объявить переменную var.

Вот разница, когда я пытался получить доступ к переменным внутри блока{}. Если я попытался получить доступ к testConst и testVar, он выдает ошибку «Uncaught ReferenceError: testConst не определен».

Случаи testConst и testLet следующие:

Пример testVar выглядит следующим образом:

Вот краткое изложение того, о чем мы говорили:

Ресурсы

  1. https://www.w3schools.com/js/js_scope.asp
  2. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const
  3. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let
  4. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var