Новое в JS в 2025-2026 годах

Скачать Яндекс Браузер Скачать Яндекс Браузер

Реклама на сайте:

Новое в JS в 2025-2026 годах

В 2025–2026 годах язык JavaScript (стандарты ECMAScript 2025 и ES2026) получил множество практичных обновлений. Комитет TC39 сосредоточился на устранении «боли» разработчиков — избавлении от рутинного написания велосипедов, улучшении работы с асинхронностью, коллекциями и данными.

Главные нововведения за этот период можно разделить на несколько ключевых блоков:

1. Главные фичи ECMAScript 2025 (утвержден летом 2025)

  • Iterator Helpers (Методы-помощники для итераторов): У итераторов появились встроенные методы вроде .map(), .filter(), .take(), .drop(), .flatMap() и др. Теперь обрабатывать ленивые последовательности данных можно «из коробки», не создавая на каждом шаге промежуточные массивы в памяти.
  • Новые методы для Set (Множеств): Объекты Set обзавелись полноценными математическими операциями:
    • set.union(other) — объединение.
    • set.intersection(other) — пересечение.
    • set.difference(other) — разность.
    • set.symmetricDifference(other) — симметричная разность.
    • А также методы проверки отношений: isSubsetOf, isSupersetOf, isDisjointFrom.
  • Импорт JSON как модуля (Import Attributes): Теперь можно импортировать JSON-файлы напрямую с помощью синтаксиса атрибутов (with { type: 'json' }), без необходимости подключать сторонние сборщики или писать костыли:
import config from './config.json' with { type: 'json' };
  • RegExp.escape: Долгожданный метод, который экранирует специальные символы в строках для регулярных выражений. Это защищает код от уязвимостей (RegEx Injection), когда в регулярку подставляется нефильтрованный пользовательский ввод.
  • Promise.try(): Удобный статический метод, который оборачивает синхронный или асинхронный вызов функции в промис. Это избавляет от необходимости писать конструкции вроде new Promise(resolve => resolve(fn())).
  • Float16Array: Появление типизированного массива для 16-битных чисел с плавающей запятой — важная вещь для оптимизации памяти, работы с графикой, WebGL и локальными ML-моделями.

2. Главные фичи ECMAScript 2026 (утвержден в июне 2026)

  • Array.fromAsync(): Позволяет напрямую собирать массивы из асинхронных итераторов или генераторов. Идеально для потоковых данных, постраничных API (pagination) или работы с курсорами БД.
  • Map.prototype.getOrInsert(): Упрощает работу с картами (Map), когда нужно получить значение по ключу, а если его нет — автоматически записать туда дефолтное значение. Больше не нужно писать проверки .has() / .set().
  • Iterator.concat(): Позволяет «склеивать» несколько итераторов в один последовательный поток без выделения лишней памяти под массивы.
  • Error.isError(): Надежный глобальный способ проверить, является ли переданный объект ошибкой (Error), что критично при работе со сложными микрофронтендами или iframe.
  • Math.sumPrecise(): Решает классическую проблему JS с точностью чисел с плавающей запятой при суммировании массивов разной величины.
  • Нативная поддержка Base64 и Hex для Uint8Array: Методы кодирования и декодирования бинарных данных теперь встроены на уровне языка.
  • Улучшения в JSON: Ревивер в JSON.parse() получил доступ к исходному текстовому сегменту (context) для парсинга огромных чисел (например, BigInt) без потери точности, а также появился метод JSON.rawJSON().

Экосистема JavaScript стала еще более зрелой. Писать код для работы с коллекциями, асинхронными потоками и бинарными данными теперь значительно проще и чище.


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
↑