<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Chrome 146: Promise.try и Float16Array из ECMAScript 2026 - новые возможности JS]]></title><description><![CDATA[<p dir="auto">Chrome 146 приносит поддержку <strong>Promise.try</strong> и <strong>Float16Array</strong> из ECMAScript 2026. Эти фичи упрощают работу с асинхронным кодом и обработку 16-битных чисел с плавающей запятой. Они помогут писать чище код, оптимизировать графику и ML-задачи в браузере.</p>
<p dir="auto">Разработчики давно ждали этих улучшений для JavaScript. Promise.try избавит от boilerplate в try-catch, а Float16Array ускорит вычисления в WebGPU и Canvas. Если вы занимаетесь фронтендом или WebAssembly, это напрямую затронет ваш стек.</p>
<h2>Что такое Promise.try и зачем он нужен</h2>
<p dir="auto"><strong>Promise.try</strong> - это статический метод Promise, который запускает функцию в try-catch и возвращает Promise с результатом или ошибкой. Раньше для этого приходилось оборачивать всё в try-catch вручную, что раздувало код. Теперь один вызов заменяет кучу строк, делая асинхронный код чище и предсказуемее.</p>
<p dir="auto">Представьте сценарий: вы парсите JSON из API. Если данные битые, ловите ошибку без лишнего Promise.reject. Это особенно полезно в цепочках then, где ошибки не должны ломать весь поток. Метод уже тестировался в beta, и в Chrome 146 он стабилен.</p>
<p dir="auto">Вот ключевые преимущества:</p>
<ul>
<li><em>Автоматически оборачивает синхронные функции в Promise.</em></li>
<li>Поддерживает async/await без изменений.</li>
<li>Уменьшает количество строк кода на 30-50% в типичных случаях.</li>
</ul>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Сценарий</th>
<th>До Promise.try</th>
<th>С Promise.try</th>
</tr>
</thead>
<tbody>
<tr>
<td>Парсинг JSON</td>
<td>try { JSON.parse() } catch { reject() }</td>
<td>Promise.try(() =&gt; JSON.parse(data))</td>
</tr>
<tr>
<td>Валидация данных</td>
<td>Обертка в new Promise</td>
<td>Один метод</td>
</tr>
<tr>
<td>Обработка файлов</td>
<td>Многострочный try-catch</td>
<td>Компактный вызов</td>
</tr>
</tbody>
</table>
<h2>Float16Array: 16-битная точность для производительности</h2>
<p dir="auto"><strong>Float16Array</strong> - новый TypedArray для хранения чисел с плавающей запятой в 16 битах. Это половина размера от Float32Array, но с приемлемой точностью для графики, нейросетей и симуляций. В ECMAScript 2026 она стандартизирована, и Chrome 146 добавляет полную поддержку.</p>
<p dir="auto">В WebGPU Float16Array уже используется для тензоров и шейдеров, снижая потребление памяти на GPU. Для Canvas и Workers это значит быстрее рендеринг и меньше трафика данных. Представьте обработку изображений: сжатие данных без потери качества в реальном времени.</p>
<p dir="auto">Основные применения:</p>
<ul>
<li>Оптимизация ML-моделей в браузере.</li>
<li><em>Ускорение 3D-графики в играх.</em></li>
<li>Работа с большими датасетами в визуализациях.</li>
</ul>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Тип массива</th>
<th>Размер (байт)</th>
<th>Точность</th>
<th>Применение</th>
</tr>
</thead>
<tbody>
<tr>
<td>Float32Array</td>
<td>4</td>
<td>Высокая</td>
<td>Общие вычисления</td>
</tr>
<tr>
<td><strong>Float16Array</strong></td>
<td><strong>2</strong></td>
<td>Средняя</td>
<td>Графика, ML</td>
</tr>
<tr>
<td>Uint16Array</td>
<td>2</td>
<td>Целые</td>
<td>Индексы</td>
</tr>
</tbody>
</table>
<h2>Как это вписывается в экосистему Chrome 146</h2>
<p dir="auto">Chrome 146 не только про JS - здесь Sanitizer API для безопасного HTML и улучшения WebGPU. Promise.try идеально сочетается с новыми Web API, а Float16Array усиливает поддержку 16-битных форматов в шейдерах. Вместе они делают браузер мощнее для современных веб-приложений.</p>
<p dir="auto">Тестируйте в DevTools: создайте Float16Array и проверьте в WebGPU-контексте. Для Promise.try запустите простую функцию с ошибкой - увидите, как она корректно reject’ится. Это шаг к унификации JS с нативными языками по производительности.</p>
<p dir="auto">Поддержка по браузерам:</p>
<ul>
<li>Chrome 146: полная.</li>
<li><em>Firefox/Safari: в планах на 2026.</em></li>
<li>Node.js: ожидается в v24+.</li>
</ul>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Фича</th>
<th>Chrome 146</th>
<th>Firefox</th>
<th>Safari</th>
</tr>
</thead>
<tbody>
<tr>
<td>Promise.try</td>
<td><img src="https://forum.exlends.ru/assets/plugins/nodebb-plugin-emoji/emoji/android/2705.png?v=a1e94250dac" class="not-responsive emoji emoji-android emoji--white_check_mark" style="height:23px;width:auto;vertical-align:middle" title="✅" alt="✅" /></td>
<td>beta</td>
<td>roadmap</td>
</tr>
<tr>
<td>Float16Array</td>
<td><img src="https://forum.exlends.ru/assets/plugins/nodebb-plugin-emoji/emoji/android/2705.png?v=a1e94250dac" class="not-responsive emoji emoji-android emoji--white_check_mark" style="height:23px;width:auto;vertical-align:middle" title="✅" alt="✅" /></td>
<td>partial</td>
<td>beta</td>
</tr>
</tbody>
</table>
<h2>Интеграция в реальные проекты</h2>
<p dir="auto">Эти фичи упрощают миграцию с полифиллами. Babel или TypeScript уже поддерживают их в пресетах. В проектах на React/Vue добавьте их для оптимизации хуков с данными. Для Three.js Float16Array ускорит буферы геометрии без переписывания.</p>
<p dir="auto">Экспериментируйте осторожно: проверьте caniuse для кросс-браузерности. Promise.try не меняет семантику Promise, так что бэковард-совместим. Float16Array требует внимания к переполнению - используйте для данных, где точность не критична.</p>
<p dir="auto">Практические советы:</p>
<ul>
<li>Заменяйте Float32 на Float16 в шейдерах.</li>
<li><em>Комбинируйте Promise.try с fetch для robust API-клиентов.</em></li>
<li>Тестируйте производительность в Lighthouse.</li>
</ul>
<h2>Взгляд на будущее ECMAScript в Chrome</h2>
<p dir="auto">Chrome 146 открывает дверь для большего количества ES2026 фич в ближайших обновлениях. Останутся вопросы по производительности Float16Array на мобильных устройствах и полной интеграции с Workers. Стоит следить за бенчмарками и фидбеком от сообщества.</p>
<p dir="auto">Эти изменения подтверждают тренд на native-подобный JS в браузере. Дальше ждем уточнений по temporal API и pattern matching - они усилят типобезопасность.</p>
]]></description><link>https://forum.exlends.ru/topic/1126/chrome-146-promise.try-i-float16array-iz-ecmascript-2026-novye-vozmozhnosti-js</link><generator>RSS for Node</generator><lastBuildDate>Sat, 17 Oct 2026 03:07:31 GMT</lastBuildDate><atom:link href="https://forum.exlends.ru/topic/1126.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 05 Mar 2026 08:35:50 GMT</pubDate><ttl>60</ttl></channel></rss>