Promise.try и Float16Array из ES2026 в Chrome 145: браузерная поддержка
-
В Chrome 145 появились Promise.try и Float16Array из ECMAScript 2026. Эти фичи упрощают асинхронный код и работу с графикой, снижая нагрузку на память. Теперь разработчики могут писать чище и эффективнее без полифиллов.
Они решают проблемы с обработкой промисов и хранением чисел с плавающей запятой. Promise.try гарантирует, что любой вызов вернет промис, а Float16Array экономит ресурсы для больших массивов. Это важно для фронтенда, где производительность на первом месте.
Что такое Promise.try и зачем он нужен
Promise.try - это статический метод Promise, который принимает функцию и всегда возвращает промис. Если функция возвращает значение, оно оборачивается в fulfilled промис. Если выбрасывает ошибку - в rejected. Это избавляет от ручной обработки try/catch в асинхронном коде.
Раньше для такого пришлось бы писать обертку с new Promise и try/catch. Теперь один вызов Promise.try(fn) решает задачу. Полезно при работе с legacy-кодом или библиотеками, которые могут возвращать как промисы, так и синхронные значения. В Chrome 145 это работает стабильно из коробки.
Пример: вызываем функцию, которая может сломаться или вернуть число.
- Синхронный успех:
Promise.try(() => 42).then(console.log)выведет 42. - Ошибка:
Promise.try(() => { throw new Error('Бум') })попадет в .catch(). - Асинхронный вызов:
Promise.try(() => fetch('/api'))вернет промис от fetch. - Нюанс: метод не меняет поведение setTimeout или других асинхронных API.
Сценарий Без Promise.try С Promise.try Синхронное значение new Promise(resolve => resolve(x)) Promise.try(() => x) Синхронная ошибка new Promise((_, reject) => reject(err)) Promise.try(() => { throw err }) Асинхронная функция Работает напрямую Promise.try(asyncFn) возвращает промис Float16Array: экономия памяти для графики
Float16Array - это типизированный массив для 16-битных чисел с плавающей запятой. Он хранит значения в формате half-precision float, что в 2 раза компактнее Float32Array. Идеально для текстур, вершинных данных и ML-моделей в браузере.
В ES2026 добавили не только Float16Array, но и методы DataView: getFloat16/setFloat16. Это позволяет читать/писать half-floats из ArrayBuffer. Chrome 145 поддерживает все это нативно, без дополнительных флагов. Производительность на уровне GPU-задач растет за счет меньшего трафика памяти.
Представь обработку изображения 4K: Float32Array съест гигабайты, а Float16Array уложится в мегабайты. Пример создания и записи:
- Создание массива:
const arr = new Float16Array(1024); arr = 3.14;. - DataView интеграция:
view.setFloat16(0, 1.5, true);с littleEndian опцией. - Math.f16round: Округляет до half-precision для точности.
- Важно: диапазон -65504 до 65504, потеря точности для больших чисел.
Тип массива Размер элемента Диапазон Использование Float16Array 2 байта ±65504 Графика, ML Float32Array 4 байта ±3.4e38 Общие вычисления Uint16Array 2 байта 0-65535 Целые значения Поддержка в Chrome 145 и сравнение с другими
Chrome 145, вышедший в начале 2026, включил Promise.try и Float16Array из финальной спецификации ES2026. Это стабильная версия без origin trials. V8 движок обновлен, полифиллы вроде core-js больше не нужны для этих фич.
Сравни с Firefox и Safari: Chrome лидирует по скорости внедрения. Bun уже поддерживал раньше, но для полноценного веба Chrome - эталон. Проверяй поддержку через
typeof Float16Array !== 'undefined'или caniuse.- Версия Chrome: 145+ - полная поддержка обеих фич.
- Полифиллы: core-js добавил Promise.try и Float16 методы с feature detection.
- Тестирование: Запусти
Promise.try(() => 1)в консоли - если промис, то ок. - Совет: Для старых браузеров используй /actual/ из core-js.
Браузер Promise.try Float16Array Примечание Chrome 145 

Стабильно Firefox 129+ 

С core-js Safari
️
В разработке Новые горизонты для JS-разработки
Promise.try и Float16Array открывают двери для оптимизированного кода в Chrome 145. Они решают повседневные боли фронтенда: асинхронность и память. Осталось дождаться полной кросс-браузерной поддержки.
Дальше ждем Set-операций и RegExp.escape из той же ES2026. Подумай, как Float16Array изменит WebGL или WebGPU проекты. Это шаг к десктопной производительности в вебе.
- Синхронный успех:
© 2024 - 2026 ExLends, Inc. Все права защищены.