Зачем нужно знать что используется старая версия 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. Это влияет и на размер бандла — под старые окружения кода больше. Помогает решить, какие фичи можно использовать напрямую.