Что такое транспиляция

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

Ответ

Транспиляция — это преобразование кода из одного языка программирования в другой с похожим уровнем абстракции. Например, из ES6+ в ES5 для совместимости с браузерами.

Пример с Babel:

// Исходный код (ES6)
const greet = (name) => `Hello, ${name}!`;

// Транспилированный код (ES5)
var greet = function(name) {
  return "Hello, " + name + "!";
};

Отличие от компиляции:

  • Компиляция — перевод в машинный код или байт-код (например, C++ → бинарник).
  • Транспиляция — код остаётся читаемым (TypeScript → JavaScript).

Популярные транспиляторы:

  • Babel (JavaScript → JavaScript)
  • TypeScript Compiler (TypeScript → JavaScript)
  • SASS/SCSS → CSS