Многие из вас наверняка видели использование var, let и const в коде JavaScript. Итак, возникает вопрос, в чем же на самом деле разница между ними всеми. Давайте погрузимся и посмотрим на разницу в их использовании и области применения.

вар

Использование: наиболее часто используется из всех вышеперечисленных в JavaScript и используется для инициализации переменных. Пользователь может изменить значение переменных, объявленных как тип var.

var x=4;
x=5;
console.log(x);   // outputs 5 on console

Область действия: если она определена внутри какой-либо функции, то ее область действия является локальной для этой функции. Но если она определена вне какой-либо функции или внутри if/else, for, while, do-while, то она становится глобальной и доступна из любого места после определения переменной.

if(true)
{
  var x=3;
}
console.log(x);   // outputs 3 on console

позволить

Использование: он также используется для объявления переменных в JavaScript, и пользователь может изменить значение переменных, объявленных как тип let.

let x=4;
x=5;
console.log(x);  // outputs 5 on console

Область действия: если какая-либо переменная инициализируется с помощью let, то ее область действия является локальной для функции, внутри которой она определена. Если она определена вне какой-либо функции, то она является глобальной и доступна из любого места после определения переменной.

if(true)
{
  let x=3;
}
console.log(x);   // error: x is not defined

константа

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

const x=4;
x=5;
console.log(x);  // error: cannot modify const variable

Область действия: область действия аналогична let, т. е. если какая-либо переменная инициализируется с использованием const, то ее область действия является локальной для функции, внутри которой она определена. Если она определена вне какой-либо функции, то она является глобальной и доступна из любого места после определения переменной.

if(true)
{
  const x=3;
}
console.log(x);   // error: x is not defined