ES6 (Ecmascript), он был создан для стандартизации JavaScript, чтобы стимулировать разработку нескольких независимых реализаций. По сути, он просто предоставляет нам новые интересные функции для использования JavaScript, чтобы облегчить жизнь разработчикам. Теперь последняя версия - Ecmascript6, и Ecmascript7 был запущен, но он не совсем совместим со всеми браузерами. Одна из особенностей Ecmascript6 - это то, как мы можем определить тип переменной или мы можем сказать новые типы данных.

Итак, все три типа данных, то есть var, let, const, можно использовать для определения любых вещей, таких как число, строка, объект, массивы. Когда я увидел эту новинку и у меня возник вопрос: когда что использовать?

Вот в чем разница -

VAR -

Он используется для определения чего-либо во всем файле JS и может быть успешно переопределен даже при объявлении New с тем же именем. Давайте посмотрим на примере -

и эта же теория также применима, когда я использую Lexical Scope, то есть {}, или вы можете сказать Blocked Scope с помощью {}. Посмотрим -

Итак, здесь мы видим, что тип данных var просто используется во всем JS-файле.

ДА -

Он также используется для определения чего-либо во всем файле JS, что отличает let от var -

  • Я не могу определить такую ​​же переменную let, если эта вторая переменная не входит ни в одну лексическую область видимости, то есть {} или заблокированную область действия с помощью {}. Поэтому я не могу определить одно и то же имя типа данных let в той же области действия, это дает мне ошибку, то есть - идентификатор 'text' уже был объявлен.

  • Но когда он определен в Scope {}, они ведут себя как новые переменные, но только для той конкретной области, в которой это определение. Давайте посмотрим на примере -

Итак, let играет главную роль в Lexical Scope.

Const -

Он также используется для определения вещей, которые, как вы знаете, будут ПОСТОЯННЫМИ по всему JS-файлу, чтобы их нельзя было переопределить, поэтому они постоянные. Вот пример -

Но вот Twist. Давайте посмотрим на пример -

Вы будете типа Какого черта: 0? Константа не может быть отменена.

Да, вы правы, но только если постоянная переменная не относится к типу ссылки, то есть объект и массивы хранят ссылку, поэтому их можно изменить. Вот пример массива -

Вы можете попробовать эти примеры на своем компьютере, чтобы сделать его более понятным. Думаю, теперь вы можете увидеть разницу между Var, Let, Const.

Надеюсь, тебе понравится.

Ваше здоровье.