1. Var: объявления Var имеют глобальную область действия или функцию/локальную область действия.

Область действия является глобальной, когда переменная var объявлена ​​вне функции. Это означает, что любая переменная, объявленная с помощью var вне функционального блока, доступна для использования во всем окне.

Var относится к области действия функции, если она объявлена ​​внутри функции. Это означает, что он доступен и может быть доступен только внутри этой функции.

Пример:

var гендер = "привет, мальчик";

function newFunction ( ) { var girl = “girl”;

Здесь gender имеет глобальную область действия, поскольку он существует вне функции, а girl — область действия функции. Таким образом, мы не можем получить доступ к переменной girl вне функции, поэтому, если мы сделаем это:

var tester = «привет, мальчик»;

function newFunction ( ) { var girl = “girl” ;}

console.log (девушка); // ошибка: девушка не определена

Мы получим ошибку из-за того, что девушка недоступна вне функции.

Переменные Var можно повторно объявлять и обновлять

Это означает, что мы можем сделать это в той же области видимости и не получим ошибку.

var гендер = "привет, мальчик";

var гендер = «вместо этого скажите Девушка»;

и это тоже

var гендер = "привет, мальчик";

gender = «вместо этого скажите «Девушка»;

Поднятие переменной

Подъем — это механизм JavaScript, в котором объявления переменных и функций перемещаются в верхнюю часть своей области видимости перед выполнением кода. Это означает, что если мы сделаем это:

console.log (пол);

var гендер = "скажем, девушка"

Это интерпретируется так:

различный пол;

console.log (пол) ; // пол не определен

gender = "скажем, девочка"

Таким образом, переменные var поднимаются наверх своей области видимости и инициализируются значением undefined.

Проблема с переменной

У var есть слабость. Я покажу вам этот пример ниже, чтобы объяснить:

var гендер = "привет, мальчик";

вар раз = 4;

если (раз › 3) {

var гендер = "вместо этого скажите Девушка" ;

}

console.log (пол) // «вместо этого скажите девушка»

Таким образом, поскольку times › 3 возвращает true, gender переопределяется на «вместо этого говорите Girl». Хотя это не проблема, если вы сознательно хотите переопределить пол, это становится проблемой, когда вы не понимаете, что переменная gender уже была определена ранее.

Если вы использовали gender в других частях своего кода, вы можете быть удивлены ошибками в выводе.

2. Let: Let заблокировано. Блок — это кусок кода, ограниченный {}. Блок живет в фигурных скобках. Все, что заключено в фигурные скобки, является блоком.

Переменная, объявленная в блоке с let, доступна для использования только внутри этого блока.

Пример:

позволить гендеру = «сказать Мальчик»;

пусть раз = 4;

если (умножить на ›3) {

let girl = “скажи Девушка

вместо этого”;

console.log (девушка); // «сказать

Вместо девушки”

}

console.log (девушка) // девушка не определена

Мы видим, что использование girl вне его блока (фигурные скобки там, где оно было определено) возвращает ошибку. Это связано с тем, что переменные let имеют блочную область действия.

Let можно обновить, но нельзя повторно объявить

Переменная, объявленная с помощью let, может быть обновлена ​​в пределах ее области действия точно так же, как var, но переменная let не может быть повторно объявлена ​​в пределах ее области действия, в отличие от >вар.

Это будет работать

Пример:

позволить гендеру = «сказать Мальчик»;

gender = «вместо этого скажите «Девушка»;

но это вернет ошибку

позволить гендеру = «сказать Мальчик»;

позволить гендеру = «сказать Девушка»

вместо" ; // ошибка: идентификатор «пол» уже объявлен

Однако если одна и та же переменная определена в разных областях, ошибки не будет.

Пример:

позволить гендеру = «сказать Мальчик»;

если (истина) {

позволить гендеру = «сказать Девушка»

вместо этого”;

console.log (пол) ; //

"вместо этого скажите Девушка"

}

console.log(пол) ; // «скажем, мальчик»

Ошибки нет, потому что оба экземпляра обрабатываются как разные переменные, поскольку они имеют разные области действия.

Поднятие сдачи

Объявления Let также поднимаются вверх, но ключевое слово let не инициализируется. Поэтому, если вы попытаетесь использовать переменную let перед объявлением, вы получите Reference Error.

3. Const: переменные, объявленные с помощью const, сохраняют постоянные значения. Объявления Const заблокированы, потому что к ним можно получить доступ только внутри блока, в котором они были объявлены.

Константа не может быть обновлена ​​или повторно объявлена

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

const гендер = "скажем, Мальчик";

gender = «вместо этого скажите «Девушка»; // ошибка: присвоение константной переменной.

Ни это:

const гендер = "скажем, Мальчик";

const гендер = "вместо этого скажите Девушка"; // ошибка: идентификатор «пол» уже объявлен

Следовательно, каждое объявление const должно быть инициализировано во время объявления.

Это поведение несколько отличается, когда речь идет об объектах, объявленных с помощью const. Объект const нельзя обновить, но можно обновить свойства объектов.

Пример:

постоянный пол = {

сообщение: «Скажи Мальчик»,

раз: 4

}

Пока мы не можем этого сделать:

пол = {

слова: «Девушка»,

число: «пять»

} // ошибка: присвоение константной переменной.

Мы можем сделать это:

gender.message = «вместо этого скажите Мальчик»;

Это обновит значение gender.message без возврата ошибок.

Поднятие const

Объявление Const поднимается вверх, но не инициализируется.

Подробная разница между var, let и const

1. Объявления var имеют глобальную область видимости/область действия функции, в то время как let и const заблокированы.

2. Переменные var можно обновлять и повторно объявлять в пределах области действия; Переменные let могут быть обновлены, но не объявлены повторно; переменные const не могут быть обновлены или объявлены повторно.

3. Все они подняты на вершину своих возможностей. Но переменные var инициализируются значением undefined, переменные let и const не инициализируются.

4. var и let могут быть объявлены без инициализации, const должна быть инициализирована во время объявления.

КОНЕЦ…..