Многие из вас наверняка видели использование 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