Skip to content

Latest commit

 

History

History
19 lines (13 loc) · 1.36 KB

File metadata and controls

19 lines (13 loc) · 1.36 KB

Расскажите, что такое поднятие (hoisting) переменных.

Поднятие (hoisting) — это термин, используемый для объяснения поведения объявлений переменных в коде. Переменные, объявленные при помощи ключевого слова var, будут перемещены в верхнюю часть текущей области, что мы называем "поднятием". Поднимается только объявление переменной, присвоение змачения (если оно имеется) останется на прежнем месте.

// объявления переменных через var поднимаются.

console.log(foo); // undefined
var foo = 1;
console.log(foo); // 1   

// объявления переменных через let/const НЕ поднимаются.   

console.log(bar); // ReferenceError: bar is not defined
let bar = 2;
console.log(bar); // 2

При объявлении функции её тело поднимается наверх, в то время как у функциональных выражений (когда переменной присваивается функция) поднимается только переменная.