Примечание: здесь я делюсь своими знаниями. Пожалуйста, поправьте меня, если я неправильно понимаю.

ES6 предоставляет несколько способов объявления переменной с помощью var, let и const.

Можно создавать переменные без любого из этих ключевых слов 😇 (не в строгом режиме), но вы должны присвоить значение. Эти переменные будут иметь глобальную область видимости независимо от того, где они определены.

Давайте создадим переменную с именем x. Мы можем создать это, используя как var, так и let.

let x = 10;
var x = 10;

Оба являются действительными операторами JavaScript, но они делают что-то немного другое.

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

Если вы изучали программирование на Java или C ++, тогда ваш разум будет думать только в области видимости блока.

let создает переменную области действия уровня блока. Блок - это часть кода, которая находится между открывающей и закрывающей скобками.

let не позволяет вам говорить о переменной над ее объявлением.

console.log(x); // ReferenceError: x is not defined
let x = 10;
console.log(x); // 10

Переменные, объявленные с помощью var, находятся в функциональной области [доступны вверху всей функции независимо от блокировки].

var переменную можно использовать до ее объявления.

Объявление переменной var в любом месте кода эквивалентно объявлению ее в верхней части функции. Операторы объявления переменных будут обработаны перед выполнением. Такое поведение называется «подъем».

console.log(x); // undefined
var x = 10;
console.log(x); // 10

После подъема процесса 👆 приведенного выше примера кода, он выглядит так 👇

var x;
console.log(x); // undefined
x = 10;
console.log(x); // 10

Давайте посмотрим еще на один пример,

if(true) {
    // Block 1
    var i = 100;
    let j = 200;
}
console.log(i);     // 100
console.log(j);     // ReferenceError: j is not defined

Мы объявили переменную ‘i’, используя var внутри блока 1. Будучи объявленной с использованием var, переменная «i’ поднимается в начало функции и становится доступной для всей функции.

Мы объявили переменную ‘j’ с использованием let внутри блока 1. Объявляя переменную с использованием let ‘j’, область действия ограничена в блоке 1 и неизвестна за пределами блока 1.

А как насчет конст ..

Если в вашем коде есть переменная, и вы знаете, что ее значение никогда не изменится, объявите ее с помощью const.

Переменные, объявленные с использованием const, являются блочными переменными, определенными с помощью оператора let. Значение переменной const не может быть повторно присвоено или повторно объявлено.

const x = 100
console.log(x);     // 100
x = 200;            // TypeError: Assignment to constant variable.

Значение переменной ‘x’ всегда будет равно 100.

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

const rectangle = {length: 10, width: 10}
console.log(rectangle)      // { length: 10, width: 10 }
rectangle.width = 20;
rectangle.height = 5;
console.log(rectangle)      // { length: 10, width: 20, height: 5 }

Это все о let, var и const.

Спасибо за прочтение! ❤️. Дайте мне знать, что вы думаете по этому поводу.

Шрирам Тиагараджан, спасибо за обзор. 👍

Ссылка: Веб-документы MDN

Изображение предоставлено: Фотография Olu Eletu на Unsplash