Я наткнулся на интересную точку зрения на недавнем собеседовании.
Подъем в Javascript - это перемещение объявлений переменных и функций вверху скрипта. Можем ли мы назвать этот этап компиляцией ?
Мне известно о том, что интерпретатор Javascript имеет 2 прохода над входным скриптом, где на первом проходе он выполняет подъем, а на втором проходе он фактически выполняет скрипт. Зная, что Javascript - это интерпретируемый язык, этот вопрос меня немного смутил.
источник