Объяснить разницу между var, let и const в JavaScript?

Вопрос проверяет знание ключевых отличий между способами объявления переменных и их поведение в разных ситуациях.

Короткий ответ

var имеет функциональную область видимости, поддерживает поднятие и может быть переназначен. let имеет блочную область видимости и также может быть переназначен. const тоже имеет блочную область видимости, но его значение нельзя переназначить.

Длинный ответ

var — переменные, объявленные через var, имеют область видимости на уровне функции. Это значит, что они видны во всей функции, даже если объявлены в блоках, таких как циклы. Кроме того, var поддерживает поднятие, что позволяет обращаться к переменной до ее объявления, хотя её значение будет undefined, если не было присвоено до этого.

 

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

 

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

 

Пример:

if (true) {    
	var a = 1;   // доступно везде в функции    
	let b = 2;   // доступно только внутри блока    
	const c = 3; // тоже доступно только внутри блока 
}

Уровень

  • Рейтинг:

    2

  • Сложность:

    2

Навыки

  • JavaScript

    JavaScript

Подпишись на React Developer в телеграм