19 / 51
Чем объявление функции отличается от функционального выражения с точки зрения всплытия (hoisting)?
Function declaration поднимается полностью — и имя, и тело. Её можно вызвать в любом месте области видимости, даже до строки объявления. Function expression поднимается по правилам переменной (var, let, const), в которую записана: для var — будет undefined до присваивания, для let/const — попадёт в TDZ.