В моей предыдущей статье Хранилище значений мы уже обсуждали, как переменная хранит значение. Мы также узнали, что только Boolean, number, BigInt, string, object, symbol, null, undefined будут считаться значением, все, кроме этих восьми, не является значением. В этой статье мы обсудим разницу между let, var и const.

Все мы знаем, что для того, чтобы использовать переменную, мы должны сначала объявить ее. Чтобы объявить переменную, мы используем ключевое слово let, var и const. Итак, давайте узнаем об этих трех подробностях.

Вар:

До ES6 var был единственным способом объявить переменную.

  • Переменные, объявленные с помощью var, ограничены функцией.

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

*Пример:

var state = "West Bengal";
function displayName() {
   var myName = 'Sanjib Roy'; 
   console.log(myName); 
}
displayName(); // Output: "Sanjib Roy"
console.log(window.state); // Output: "West Bengal"
console.log(myName); //Error:"ReferenceError: myName is not defined"
  • Переменные, объявленные с помощью var, могут быть объявлены более одного раза. Вы можете переназначить значение переменной в любое время.

*Пример :

var arr = [1, 2, 3, 4];
var fruit = 'Apple' ;
var arr = [5, 6, 7, 8];
fruit = 'Mango'; 
console.log(arr); // [5, 6, 7, 8]
console.log(fruit); // 'Mango'
  • На этапе объявления переменные, объявленные с помощью var, всегда инициализируются как неопределенные.

позволять :

let очень похож на var, но между ними мало отличий. Впервые он был представлен в ES6.

  • Переменные, объявленные с помощью let, имеют блочную область видимости.

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

Пример:

let number = 4;
if(number % 2 == 0) { 
  let isEven = true;
  console.log(isEven); // Output: true;
}
console.log(isEven); //Error:"ReferenceError: isEven is not defined"
  • Переменные, объявленные с помощью let, не могут быть объявлены более одного раза, но вы можете переназначить значение переменной в любое время.
let a = 25;
a = 29;
let a = 5; //"SyntaxError: Identifier 'a' has already been declared"
  • На этапе объявления переменные, объявленные с помощью ключевого слова let, не инициализируются.
  • Он не принадлежит глобальной области видимости.
let x = 100;
console.log(window.x); // Output: undefined

константа:

Подобно let, const также имеет блочную область видимости. Впервые он был представлен в ES6. const имеет все свойства let, кроме одного —

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

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