
Var, let и const
Объявление переменных let и const - фича из ES6
Отличия let от var
1. Область видимости
let - блочная (видна только внутри блока {...})
var - функциональная (видна внутри функции и вложенных в нее)
2. Hoisting - объявление var переместится в начало функции
превращается в
Отличие const от let:
Значение переменной, объявленной с помощью const, нельзя переназначить, это не относится к свойствам объекта
Объявление переменных let и const - фича из ES6
Отличия let от var
1. Область видимости
let - блочная (видна только внутри блока {...})
var - функциональная (видна внутри функции и вложенных в нее)
let result = 20;
if (true) {
let result = 10;
}
console.log(result); // 20
var result = 20;
if (true) {
var result = 10;
}
console.log(result); // 10
2. Hoisting - объявление var переместится в начало функции
console.log(x); // undefined
var x = 10;
превращается в
var x;
console.log(x); // undefined
x = 10;
Отличие const от let:
Значение переменной, объявленной с помощью const, нельзя переназначить, это не относится к свойствам объекта
const person = {
name: 'Kim Kardashian'
}
person.name = 'name' // Ок
person = {} // Ошибка