Перейти к содержанию
  • Лента
  • Категории
  • Последние
  • Метки
  • Популярные
  • Пользователи
  • Группы
Свернуть
exlends
Категории
  1. Главная
  2. Категории
  3. Языки программирования
  4. JavaScript
  5. Chrome 146: Promise.try и Float16Array из ECMAScript 2026 - новые возможности JS

Chrome 146: Promise.try и Float16Array из ECMAScript 2026 - новые возможности JS

Запланировано Прикреплена Закрыта Перенесена JavaScript
chrome 146ecmascript 2026javascript
1 Сообщения 1 Постеры 26 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • hannadevH Не в сети
    hannadevH Не в сети
    hannadev
    написал в отредактировано
    #1

    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 - они усилят типобезопасность.

    1 ответ Последний ответ
    0

    Здравствуйте! Похоже, вас заинтересовала эта беседа, но у вас ещё нет аккаунта.

    Надоело каждый раз пролистывать одни и те же посты? Зарегистрировав аккаунт, вы всегда будете возвращаться на ту же страницу, где были раньше, и сможете выбирать, получать ли уведомления о новых ответах (по электронной почте или в виде push-уведомлений). Вы также сможете сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.

    С вашими комментариями этот пост мог бы стать ещё лучше 💗

    Зарегистрироваться Войти

    Категории

    • Главная
    • Новости
    • Фронтенд
    • Бекенд
    • Языки программирования

    Контакты

    • Сотрудничество
    • info@exlends.com

    © 2024 - 2026 ExLends, Inc. Все права защищены.

    Политика конфиденциальности
    • Войти

    • Нет учётной записи? Зарегистрироваться

    • Войдите или зарегистрируйтесь для поиска.
    • Первое сообщение
      Последнее сообщение
    0
    • Лента
    • Категории
    • Последние
    • Метки
    • Популярные
    • Пользователи
    • Группы