PassFront
  1. PassFront
  2. База знаний
  3. Современный JS ES6+

Зачем нужно знать что используется старая версия ECMAScript?

Современный JS ES6+

Знать, что используется старая версия ECMAScript, важно для совместимости: старые окружения не поддерживают новый синтаксис/API, поэтому нужны транспиляция, полифилы и осторожность с возможностями языка.

Зачем это знать

Совместимость с окружением

Старые браузеры/Node не понимают новый синтаксис (стрелки, async/await, опциональную цепочку) и новые API (Promise, Array.includes):

user?.name; // упадёт в старом браузере без транспиляции

Нужно знать целевые окружения, чтобы код работал везде.

Необходимость транспиляции и полифилов

  • Babel — транспилирует новый синтаксис в старый.
  • core-js (полифилы) — добавляет отсутствующие API.
  • browserslist — задаёт целевые браузеры для сборки.

Ограничения возможностей

В старом окружении нельзя полагаться на новые фичи без обработки — либо избегать их, либо полифилить.

Производительность и размер бандла

Транспиляция под старые браузеры увеличивает бандл (больше кода, полифилы). Зная реальные требования, можно не поддерживать устаревшее и уменьшить бандл.

Практические выводы

  • Настроить browserslist под реальную аудиторию.
  • Настроить Babel/полифилы под целевые версии.
  • Не тащить лишние полифилы, если старые браузеры не нужны.
  • Проверять поддержку фич (Can I Use).

Коротко для собеседования

Знать версию ECMAScript целевого окружения важно для совместимости: старые браузеры/Node не поддерживают новый синтаксис и API, поэтому нужны транспиляция (Babel), полифилы (core-js) и настройка browserslist. Это влияет и на размер бандла — под старые окружения кода больше. Помогает решить, какие фичи можно использовать напрямую.

Другие вопросы раздела