Chrome 146: Promise.try и Float16Array из ECMAScript 2026 - новые возможности JS
-
Chrome 146 приносит поддержку Promise.try и Float16Array из ECMAScript 2026. Эти фичи упрощают работу с асинхронным кодом и обработку 16-битных чисел с плавающей запятой. Они помогут писать чище код, оптимизировать графику и ML-задачи в браузере.
Разработчики давно ждали этих улучшений для JavaScript. Promise.try избавит от boilerplate в try-catch, а Float16Array ускорит вычисления в WebGPU и Canvas. Если вы занимаетесь фронтендом или WebAssembly, это напрямую затронет ваш стек.
Что такое Promise.try и зачем он нужен
Promise.try - это статический метод Promise, который запускает функцию в try-catch и возвращает Promise с результатом или ошибкой. Раньше для этого приходилось оборачивать всё в try-catch вручную, что раздувало код. Теперь один вызов заменяет кучу строк, делая асинхронный код чище и предсказуемее.
Представьте сценарий: вы парсите JSON из API. Если данные битые, ловите ошибку без лишнего Promise.reject. Это особенно полезно в цепочках then, где ошибки не должны ломать весь поток. Метод уже тестировался в beta, и в Chrome 146 он стабилен.
Вот ключевые преимущества:
- Автоматически оборачивает синхронные функции в Promise.
- Поддерживает async/await без изменений.
- Уменьшает количество строк кода на 30-50% в типичных случаях.
Сценарий До Promise.try С Promise.try Парсинг JSON try { JSON.parse() } catch { reject() } Promise.try(() => JSON.parse(data)) Валидация данных Обертка в new Promise Один метод Обработка файлов Многострочный try-catch Компактный вызов Float16Array: 16-битная точность для производительности
Float16Array - новый TypedArray для хранения чисел с плавающей запятой в 16 битах. Это половина размера от Float32Array, но с приемлемой точностью для графики, нейросетей и симуляций. В ECMAScript 2026 она стандартизирована, и Chrome 146 добавляет полную поддержку.
В WebGPU Float16Array уже используется для тензоров и шейдеров, снижая потребление памяти на GPU. Для Canvas и Workers это значит быстрее рендеринг и меньше трафика данных. Представьте обработку изображений: сжатие данных без потери качества в реальном времени.
Основные применения:
- Оптимизация ML-моделей в браузере.
- Ускорение 3D-графики в играх.
- Работа с большими датасетами в визуализациях.
Тип массива Размер (байт) Точность Применение Float32Array 4 Высокая Общие вычисления Float16Array 2 Средняя Графика, ML Uint16Array 2 Целые Индексы Как это вписывается в экосистему Chrome 146
Chrome 146 не только про JS - здесь Sanitizer API для безопасного HTML и улучшения WebGPU. Promise.try идеально сочетается с новыми Web API, а Float16Array усиливает поддержку 16-битных форматов в шейдерах. Вместе они делают браузер мощнее для современных веб-приложений.
Тестируйте в DevTools: создайте Float16Array и проверьте в WebGPU-контексте. Для Promise.try запустите простую функцию с ошибкой - увидите, как она корректно reject’ится. Это шаг к унификации JS с нативными языками по производительности.
Поддержка по браузерам:
- Chrome 146: полная.
- Firefox/Safari: в планах на 2026.
- Node.js: ожидается в v24+.
Фича Chrome 146 Firefox Safari Promise.try 
beta roadmap Float16Array 
partial beta Интеграция в реальные проекты
Эти фичи упрощают миграцию с полифиллами. Babel или TypeScript уже поддерживают их в пресетах. В проектах на React/Vue добавьте их для оптимизации хуков с данными. Для Three.js Float16Array ускорит буферы геометрии без переписывания.
Экспериментируйте осторожно: проверьте caniuse для кросс-браузерности. Promise.try не меняет семантику Promise, так что бэковард-совместим. Float16Array требует внимания к переполнению - используйте для данных, где точность не критична.
Практические советы:
- Заменяйте Float32 на Float16 в шейдерах.
- Комбинируйте Promise.try с fetch для robust API-клиентов.
- Тестируйте производительность в Lighthouse.
Взгляд на будущее ECMAScript в Chrome
Chrome 146 открывает дверь для большего количества ES2026 фич в ближайших обновлениях. Останутся вопросы по производительности Float16Array на мобильных устройствах и полной интеграции с Workers. Стоит следить за бенчмарками и фидбеком от сообщества.
Эти изменения подтверждают тренд на native-подобный JS в браузере. Дальше ждем уточнений по temporal API и pattern matching - они усилят типобезопасность.
Здравствуйте! Похоже, вас заинтересовала эта беседа, но у вас ещё нет аккаунта.
Надоело каждый раз пролистывать одни и те же посты? Зарегистрировав аккаунт, вы всегда будете возвращаться на ту же страницу, где были раньше, и сможете выбирать, получать ли уведомления о новых ответах (по электронной почте или в виде push-уведомлений). Вы также сможете сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.
С вашими комментариями этот пост мог бы стать ещё лучше 💗
Зарегистрироваться Войти© 2024 - 2026 ExLends, Inc. Все права защищены.