Что готовит ECMAScript: сырой импорт, pushAll и новые итераторы
Какие предложения обсуждает TC39 и почему они могут перевернуть привычный JavaScript
JavaScript снова на пороге больших перемен.
Комитет TC39, отвечающий за развитие стандарта ECMAScript, обсуждает свежие предложения, которые способны сильно упростить жизнь разработчикам. Сырой импорт, новый метод pushAll и итераторы с «умными» методами - всё это может войти в язык уже в ближайших релизах. Давайте разберём, что это за фичи и почему за ними стоит следить прямо сейчас.
Сырой импорт (Import Attributes & Raw Imports)
Мы привыкли к import x from '...', но современный фронтенд уже не ограничивается JS и CSS. В игру вступают JSON, WASM и даже нестандартные форматы.
Что предлагают:
import config from './config.json' with { type: 'json' };
import wasm from './engine.wasm' with { type: 'webassembly' };
Возможность работать напрямую с "сырыми" данными, например ArrayBuffer для бинарных файлов. Это убирает костыли с fetch() + Response.text() и делает код прозрачным.

pushAll — долгожданный апгрейд массивов
Сегодня, чтобы добавить массив в массив, мы пишем:
arr.push(...other);Красиво, но неэффективно. Новый метод:
arr.pushAll(other);✔ Без скрытых аллокаций
✔ Производительнее на больших данных
✔ Понятнее для новичков
Новые итераторы: функционал в стиле "коллекций"
TC39 обсуждает расширенный API для итераторов, чтобы они стали похожи на коллекции в Python или C#.
const it = [1,2,3,4,5].values()
.filter(x => x % 2)
.map(x => x * 10);
console.log([...it]); // [10, 30, 50]
Теперь итераторы перестанут быть "низкоуровневой штукой" и станут полноценным инструментом работы с данными.

Текущий статус в TC39
У каждой новой фичи есть путь от идеи до стандарта. Вот где они находятся сейчас:
Предложение | Описание | Stage |
|---|---|---|
Import Attributes (Raw Imports) | Импорты с указанием типа ресурса (JSON, WASM, бинарные данные) | Stage 3 |
Array.prototype.pushAll | Добавление элементов массива без спреда | Stage 1 |
Iterator Helpers | Методы | Stage 3 |
Почему это важно?
Импорты делают JS по-настоящему многоформатным языком.
pushAll убирает костыли и повышает читаемость.
Итераторы выводят язык на новый уровень декларативности.
Мы в Кодике любим копать такие фичи на старте — чтобы потом объяснять простыми словами и показывать, как использовать без боли. В приложении есть курсы по JavaScript и другим языкам, а в нашем Telegram-канале мы обсуждаем свежие предложения TC39 и горячие новости фронтенда.
📲 Присоединяйся к нам и будь в курсе будущего JS!