Всем привет, Сегодня речь пойдет о переменных пусть var и const..
Люди могут путаться между var , let и const , зачем использовать и когда использовать, поэтому блог здесь, чтобы устранить путаницу …
Этот блог поможет вам понять, зачем использовать const и let вместо var и где использовать какие из них, Итак, давайте начнем…
Предложение.Просто предлагаю взять примеры, приведенные ниже, и попробовать их на своей консоли, чтобы они всегда оставались в вашей памяти.
1) Вар:
Var долгое время используется в Javascript, но let и const представлены в версии ES6. С помощью переменной 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 = 10
if
(c == 10) {
let a = "hi"
console.log(a)
}
console.log(a)
Вывод:
hi ReferenceError: a is not defined
Пояснение:
мы попытались получить значение «а» внутри блока, где «а» объявлено, поэтому мы получили значение, как и ожидалось. но во второй раз мы не получили ожидаемого значения, а получили ReferenceError. Поскольку «a» объявлен внутри блока, если мы попытаемся получить к нему доступ снаружи, это покажет вам ошибку. Это происходит потому, что любая переменная, объявленная с помощью ключевого слова 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
: блочная область, не может быть обновлена и повторно объявлена.