ECMAScript 2026 официально утвержден: что завезли в стандарт JavaScript? 🚀
Новые возможности ES2026: точное суммирование, Map Upsert, Base64 и Hex, Error.isError, JSON.parse и Iterator.concat.

Комитет TC39 одобрил 17-ю редакцию спецификации ES2026. Никакой революции и переписывания языка, но подъехали крайне полезные утилиты, которые закроют старые боли и избавят нас от мелких библиотек-костылей.
Вот главное из релиза, которое уже можно юзать нативно:
🔹 Math.sumPrecise() — точное сложение дробей Вечная боль 0.1 + 0.2 === 0.30000000000000004 наконец-то решена на уровне стандарта. Метод принимает итерируемый список чисел и складывает их без прогрессирующей потери точности, что критично для финансовых подсчетов.
🔹 Map.prototype.getOrInsert() и getOrInsertComputed() Нативный Upsert. Больше не нужно писать проверки if (!map.has(key)) map.set(...). getOrInsert(key, defaultValue) сразу вернет значение или запишет дефолтное, а getOrInsertComputed(key, callback) вызовет коллбэк для вычисления дефолта только тогда, когда ключа реально нет.
🔹 Нативная поддержка Base64 и Hex в Uint8Array Прощай, костыли с atob() и btoa(), которые работали со строками, а не с байтами. Теперь бинарные данные можно кодировать прямо из коробки: bytes.toBase64() и Uint8Array.fromBase64(string). То же самое добавили для Hex.
🔹 Error.isError() — надежная проверка на ошибки Проверка err instanceof Error часто ломалась, если код выполнялся в разных контекстах. Новый метод решает эту проблему глобально на уровне движка.
🔹 JSON.parse с доступом к исходному тексту. В функцию-ревивер JSON.parse(text, reviver) теперь третьим аргументом прокидывается объект context, содержащий context.source — оригинальную строковую запись конкретного свойства до его парсинга. Идеально, чтобы ловить слишком длинные числа и переводить их в BigInt до того, как JS округлит их в Number.
🔹 Iterator.concat() Позволяет эффективно склеивать несколько итераторов в один без промежуточного создания массивов и выделения лишней памяти.
Спека уже заапрувлена, большинство фич уже раскатаны по современным браузерам и рантаймам.
Какая фича больше всего зашла? Лично я ждал нативный Upsert для Мап еще года три назад.