Обложка канала

Senior Frontend - javascript, html, css

20191 @seniorFront

Senior Front - канал для front-end программистов, здесь есть много всего про CSS3, Javascript, Html5, Angular, React, видео / статьи / курсы

Senior Frontend - javascript, html, css

3 года назад
Открыть в
Как работает механизм "hoisting" в JavaScript? "Hoisting" - это механизм, который позволяет переменным и функциям быть объявленными в коде после того, как они будут использованы. Когда JavaScript-код выполняется, он проходит через два этапа - "компиляция" и "исполнение". Во время "компиляции" JavaScript перемещает объявления функций и переменных в начало своей области видимости, позволяя им быть доступными в любой части блока кода. Однако, значения переменных не переносятся с верхушки блока кода, поэтому переменные, объявленные с помощью ключевого слова "var", будут иметь значение "undefined", если к ним обратиться перед их инициализацией. Например:
 console.log(x); // undefined
 var x = 5;
В этом примере, компилятор переместит объявление переменной "х" в начало своей области видимости, но значение "undefined" будет присвоено этой переменной до её инициализации значением 5. Поэтому хорошей практикой является объявлять переменные в начале блока кода, чтобы избежать любых неожиданных ошибок.