В чем разница между интерпретацией и компиляцией

«В чем разница между интерпретацией и компиляцией» — вопрос из категории JavaScript, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Интерпретация и компиляция — это два разных подхода к выполнению кода.

Компиляция — преобразование всего исходного кода в машинный код (или промежуточный байт-код) перед выполнением. Пример: C++, Java.

// Компиляция (TypeScript → JavaScript)
const greet: string = "Hello";
console.log(greet);

Интерпретация — построчное выполнение кода без предварительного преобразования. Пример: JavaScript (в браузере), Python.

// Интерпретация (JavaScript в браузере)
console.log("Hello"); // Выполняется сразу

Гибридный подход (JIT-компиляция) — комбинация обоих методов. Например, современные JS-движки (V8) компилируют «горячий» код для оптимизации.