Поднятие - Перемещение всех объявлений в начало текущей области видимости. То есть возможность использовать переменные или функции до того, как мы объявили их в коде.
❕ Поднятие переменных
Все объявление переменных поднимаются, но есть отличие между var и let/const
var переменные - поднимаются и автоматически инициализируются undefined
let/const переменные - так же поднимаются, но автоматически не инициализируются. В следствии чего обращение к таким переменным, до их объявление приведет к ошибке ReferenceError ❗️
console.log(name); // undefined
var name = 'Снежные строки';
console.log(tmpName); // ReferenceError: tmpName is not defined
let tmpName = 'Снежные строки';
❕ Поднятие функций
Объявление функции с помощью function - поднимается и инициализируется ссылкой на эту функцию. Из-за этого у нас есть возможность вызывать функцию до ее объявления.
fun(); // Снежные сроки
function fun() {
console.log("Снежные сроки");
}
fun2() // ReferenceError: fun2 is not defined
let fun2 = () => {
console.log("Снежные сроки");
}
#JavaScript