Ответ
JavaScript традиционно считается интерпретируемым языком, так как код выполняется построчно в рантайме. Однако современные движки (V8, SpiderMonkey) используют JIT-компиляцию: код сначала компилируется в байт-код или машинный код для оптимизации производительности, а затем выполняется.
Пример:
function sum(a, b) {
return a + b;
}
// Движок может скомпилировать эту функцию в оптимизированный машинный код
Так что JavaScript — это и интерпретируемый, и компилируемый язык, в зависимости от контекста и реализации движка.