На недавнем заседании комитета TC39 были одобрены девять предложений по развитию JavaScript, четыре из которых переведены на четвёртую стадию (Stage 4) и войдут в спецификацию ECMAScript (и вскоре будут в baseline). Среди них:
- Array.fromAsync — удобный метод для создания массивов из асинхронных итерируемых объектов без необходимости использовать цикл
for await...of.- Error.isError — встроенный метод для корректной проверки, является ли значение объектом ошибки, включая кросс-доменные и пользовательские ошибки.
- using-декларация — новое ключевое слово
using (и await using для асинхронного кода) позволяет явно и надёжно управлять освобождением ресурсов (например, файловых дескрипторов, потоков), обеспечивая автоматическую очистку после выхода из блока.Кроме того, на других стадиях продвижения достигли:
- Immutable ArrayBuffer (Stage 3) — для безопасного обмена бинарными данными между потоками.
- Math.clamp и Seeded Pseudo Random Numbers (Stage 2) — улучшают математические возможности и воспроизводимость случайных чисел.
Статья: https://socket.dev/blog/tc39-advances-9-proposals