
ECMAScript 2025: Новые возможности для JavaScript уже здесь!
суббота, 2 августа 2025 г.
25 июня 2025 года на 129-й Генеральной Ассамблее Ecma International была официально утверждена спецификация ECMAScript 2025 — 16-я версия стандарта, лежащего в основе JavaScript. Новая версия приносит разработчикам ряд мощных инструментов, которые сделают код более выразительным, производительным и удобным для работы. Рассказываем о главных нововведениях!
Что нового в ECMAScript 2025?
- Итераторы с новыми возможностями
ECMAScript 2025 вводит встроенный объект
Iterator
с методами, такими какmap
,filter
,take
,drop
,reduce
иtoArray
. Эти методы позволяют работать с итераторами так же удобно, как с массивами, сохраняя их ленивую природу. Теперь манипуляции с итераторами станут проще и эффективнее, особенно для обработки больших или бесконечных данных.Пример:
const arr = ['a', '', 'b', '', 'c'];
const result = arr.values()
.filter(x => x.length > 0)
.drop(1)
.take(3)
.map(x => `=${x}=`)
.toArray();
// Результат: ['=b=', '=c=']
- Новые методы для Set
Объект
Set
получил мощное обновление с методами для математических операций:intersection
,union
,difference
,symmetricDifference
,isSubsetOf
,isSupersetOf
иisDisjointFrom
. Это делает работу с множествами более интуитивной и мощной.Пример:
const setOne = new Set([1, 2, 3]);
const setTwo = new Set([3, 4, 5]);
console.log(setOne.intersection(setTwo)); // Set { 3 }
console.log(setOne.union(setTwo)); // Set { 1, 2, 3, 4, 5 } - Импорт JSON-модулей
Теперь JavaScript поддерживает прямой импорт JSON-файлов через атрибуты импорта, что упрощает работу с конфигурационными данными.
Пример:
import config from './config-data.json' with { type: 'json' };
Это стандартизирует импорт не-JavaScript ресурсов, делая код чище и понятнее.
- Улучшения регулярных выражений
ECMAScript 2025 добавляет
RegExp.escape()
для безопасной экранировки символов в регулярных выражениях и поддержку одинаковых имен групп захвата в разных ветках. Также появились модификаторы подвыражений, например,(?i:bearer)
для игнорирования регистра в части выражения.Пример:
const pattern = /^(?i:bearer) abc$/;
console.log(pattern.test("Bearer abc")); // true - Promise.try для упрощения обработки ошибок
Новый метод
Promise.try
позволяет выполнять синхронные функции с безопасной обработкой ошибок, возвращаяPromise
. Это упрощает код и повышает его читаемость.Пример:
const result = await Promise.try(() => someFunction());
- Float16Array для высокопроизводительных вычислений
Введен новый тип
Float16Array
для работы с 16-битными числами с плавающей точкой, что особенно полезно для задач, связанных с GPU и ограничениями памяти. Также добавлены методыgetFloat16
иsetFloat16
дляDataView
. - DurationFormat для форматирования временных интервалов
Новый API
DurationFormat
упрощает форматирование временных интервалов, что полезно для приложений, работающих с длительностью.
Почему это важно?
ECMAScript 2025 делает JavaScript еще более мощным и удобным языком, упрощая работу с итераторами, множествами, модулями и регулярными выражениями. Новые возможности уже частично доступны в современных движках, таких как V8, и могут быть опробованы с помощью транспиляторов, таких как Babel.
Что дальше?
Разработка ECMAScript 2026 уже идет, и в следующем году нас могут ждать такие крупные предложения, как Temporal API для работы с датами и временем, а также декораторы для более гибкой структуры кода. Следите за обновлениями!
Ознакомьтесь с полной спецификацией на tc39.es и начните использовать новые возможности ECMAScript 2025 уже сегодня!

Александр
Fullstack-разработчик в МосквеПрофессиональная разработка веб-приложений на Node.js с использованием современных frontend и backend фреймворков. Создание, продвижение, поддержка и обслуживание сайтов. Эффективно, прибыльно.