Всем привет, Сегодня речь пойдет о переменных пусть var и const.
Люди могут быть сбиты с толку между var, let и const, зачем их использовать и когда использовать, поэтому блог здесь, чтобы прояснить путаницу…
Этот блог поможет вам понять, зачем использовать const и let вместо var и где какие из них использовать. Итак, давайте начнем…
Предложение.Просто предлагаю взять примеры, приведенные ниже, и попробовать их на своей консоли, чтобы они всегда оставались в вашей памяти
1) Вар:
Var уже давно используется в Javascript, но в версии ES6 появились let и const. С помощью переменной Var вы можете переназначить значение переменной, а также повторно объявить переменную с помощью ключевого слова Var.
Пример:
var b = "Hello" var b = "Hey" // user can redeclare it using var keyword b = "nice" // you can also reassign value to the variable
Область действия:
Ключевое слово Var имеет глобальную область действия или область действия функции. Это означает, что любая переменная с ключевым словом var объявлена глобально (вне функции), поэтому она доступна внутри функции, а также доступна глобально. Посмотрите на пример, чтобы понять правильно.
Пример 1:
var b = "Hello" function Checkb(){ console.log(b) } Checkb(); console.log(b);
Объяснение. Итак, выше в примере вы можете видеть, что переменная «b» с ключевым словом var объявлена глобально, и мы пытались получить значение два раза, один раз внутри функции и второй раз глобально (вне функция), так что оба способа мы получаем правильный результат. См. вывод
Вывод:
"Hello" "Hello"
Но если переменная «b» с ключевым словом var объявлена внутри функции, то она доступна только внутри функции и недоступна вне функции и выдает ошибку ссылки.
Пример 2:
function f() { var b = "Hello"; // It can be accessible anywhere console.log(b) // within this function } f(); console.log(b); // B cannot be accessible //because outside of function
Вывод:
Объяснение. Итак, во втором примере переменная «b» объявлена внутри функции, поэтому мы попытались получить ее сначала внутри, а затем снаружи функции. В первом мы получили ожидаемый результат, а во втором получили ReferenceError, потому что переменная с ключевым словом var недоступна вне функции. Итак, с глобальной областью видимости мы узнали, что ключевое слово var также имеет область действия функции.
2) Пусть:
Как я упоминал выше, let появился в ES6. let — это улучшенная версия var. Используя ключевое слово let, вы можете переназначить значение переменной с помощью ключевого слова let, но вы не можете повторно объявить переменную с помощью ключевого слова let.
Пример:
let b = 1 let b = 2 //error~ user cannot redeclare the variable again b = "0" // you can reassign value to the variable
Пояснение:
Переменная «b» уже объявлена с ключевым словом let, поэтому вы не можете повторно объявить ее. Если вы это сделаете, вы получите SyntaxError (b уже определено). но вы можете переназначить значение переменной, как я сделал выше.
Область:
let имеет блочную область действия. Все, что находится внутри {}
, считается блоком. Область действия блока означает, что если переменная «b» объявлена внутри блока, то она недоступна вне блока.
Пример:
let c = 10if (c == 10) {let a = "hi"console.log(a) }console.log(a)
Вывод:
hi ReferenceError: a is not defined
Пояснение:
мы попытались получить значение «а» внутри блока, где «а» объявлено, поэтому мы получили значение, как и ожидалось. но во второй раз мы не получили ожидаемого значения, а получили ReferenceError. Поскольку «а» объявлено внутри блока, если мы попытаемся получить к нему доступ снаружи, это покажет вам ошибку. Это происходит потому, что любая переменная, объявленная с помощью ключевого слова let, становится областью действия блока.
3) Константа:
Ключевое слово Const также введено let
в ES6. Const
говорит само за себя. const
переменные поддерживают постоянные значения. Хотя природа const
сильно отличается от let
, они оба имеют много общего, так как оба имеют блочную область видимости. Ключевое слово const имеет все те же свойства, что и ключевое слово let, за исключением того, что пользователь не может его изменить. См. пример ниже
//let let a = "john" a = "micheal" //value can be updated//const const b = "red" b = "blue" // give you error because can't be updated
Используя ключевое слово const, вы не можете ни переназначить значение, ни повторно объявить переменную с помощью const. Если вы это сделаете, это даст вам ошибку.
Пример:
const b = "red" const b = "green" // not allowed to redeclare b = "yellow" // not allowed to reassign the value
Область:
Как я упоминал ранее, const также имеет блочную область видимости, как и let. Что такое область действия блока, уже разъяснено выше.
Пример:
{ const x = 9 console.log(x) } console.log(x)
Вывод:
9 ReferenceError: x is not defined
Наиболее предпочтительны:
При использовании ключевого слова const код становится чище, но при использовании ключевого слова var код становится беспорядочным, потому что его трудно отладить, если вы ошибочно переназначите значение переменной с ключевым словом var в длинном коде. так что наиболее предпочтительными для разработчиков являются const и let… Особенно const делает код чище и облегчает отладку ошибки.
Заключение :
Прежде чем закончить, давайте подытожим то, что мы только что поняли:
var
: в пределах функции, может быть обновлено и повторно объявлено.
let
: блочная область действия, может быть обновлена, но не может быть повторно объявлена.
const
: блочная область, не может быть обновлена и повторно объявлена.