Chrome 145: поддержка import defer и новые возможности ECMAScript 2026
-
На начало 2026 года браузеры активно получают поддержку новых возможностей JavaScript, которые обещают сделать загрузку модулей быстрее и удобнее. Chrome 145, выпущенный 10 февраля, привёл с собой сразу несколько важных улучшений, которые разработчики ждали долго. Давайте разберём, что именно изменилось и почему это стоит взять на заметку.
Эти обновления касаются как фронтенда, так и архитектурных решений при построении крупных приложений. Если вы работаете с модульными системами и волнуетесь о производительности загрузки, то информация ниже точно вам пригодится.
Что такое import defer и зачем он нужен
Отложенный импорт модулей через
import deferрешает реальную проблему: когда приложение стартует, браузер часто загружает и выполняет все модули одновременно, даже если они понадобятся не сразу. Это замедляет инициализацию и тратит ресурсы впустую. Сimport deferлогика меняется радикально - модуль загружается и вычисляется только в момент, когда код впервые обращается к его свойствам.Механизм работает просто: вместо немедленной загрузки синхронный поток выполнения остаётся прерванным, и модуль подгружается по требованию. Это особенно полезно в сложных системах, где заранее сложно определить оптимальный порядок загрузки зависимостей. Терминал Bloomberg, который сочетает C++ и JavaScript, уже применяет подобный подход и показал, что эта стратегия реально работает для ускорения больших приложений.
Основные преимущества отложенного импорта:
- модули загружаются только при первом обращении к ним, снижая нагрузку на стартап приложения;
- не требует переписывания значительных частей кода - можно применить точечно как оптимизацию;
- упрощает управление зависимостями в крупных проектах, где инструменты не могут предсказать порядок загрузки;
- экономит память и CPU на ненужных вычислениях при инициализации.
Поддержка в инструментах и браузерах
Хорошая новость:
import deferуже поддерживается основными инструментами экосистемы JavaScript. TypeScript, Babel, Prettier и webpack готовы работать с этой возможностью, поэтому вы можете начинать экспериментировать прямо сейчас. Браузерная поддержка будет расширяться на протяжении 2026 года, что сделает эту функцию практическим решением для реальных проектов.Chrome 145 стал первым браузером, который получил официальную поддержку. Это означает, что разработчики, которые уже используют современные сборщики и транспайлеры, смогут протестировать свои оптимизации в реальном браузере. Другие производители наверняка не отстанут и добавят поддержку в ближайшие месяцы.
Статус поддержки по инструментам:
- TypeScript - поддерживает;
- Babel - поддерживает;
- Prettier - поддерживает;
- webpack - поддерживает;
- Chrome 145 и выше - встроенная поддержка;
- другие браузеры - ожидается в течение 2026 года.
Метод getOrInsert и атомарные операции
Второе важное добавление в ECMAScript 2026 - новый метод
getOrInsert, который объединяет две операции в одну атомарную. Если вкратце: вместо того чтобы проверять, есть ли значение в коллекции, а потом его добавлять (две отдельные операции), метод делает это в один момент. Это упрощает код и снижает вероятность ошибок синхронизации, особенно когда работаете с многопоточностью или асинхронными операциями.В контексте современной разработки эта возможность особенно полезна при работе с кэшами, хранилищами состояния и базами данных. Вместо того чтобы писать проверку и затем вставку в два этапа, разработчик получает готовое решение, которое гарантирует, что операция произойдёт атомарно.
Когда getOrInsert действительно помогает:
- управление кэшем значений без риска дублирования;
- инициализация параметров конфигурации при первом обращении;
- работа с хранилищами, где нужна гарантия уникальности ключей;
- асинхронные операции, где требуется избежать race condition’ов.
Другие обновления Chrome 145
Опционально рассмотрим и другие нововведения, которые пришли вместе с релизом. Chrome 145 - это не только JavaScript, но и улучшения по всему фронту браузера. Вернулась поддержка JPEG-XL благодаря использованию безопасного декодера на Rust. Добавлена поддержка CSS-свойства
text-justifyдля более гибкого управления выравниванием текста. Реализована поддержка переноса столбцов в многоколоночном режиме, что помогает лучше управлять версткой больших текстовых блоков.Также появились учётные данные сессии, привязанные к устройству, что улучшает безопасность при работе с аутентификацией. Бэкенд SQLite для IndexedDB получил доработки, которые должны ускорить работу с локальными базами данных в браузере.
Полный список изменений в Chrome 145:
- возврат поддержки JPEG-XL с декодером на Rust вместо C++;
- CSS-свойство
text-justifyдля управления выравниванием; - переносы столбцов в многоколоночном режиме;
- устройство-привязанные учётные данные сессии;
- оптимизация SQLite для IndexedDB;
- сокращённые строки user-agent по умолчанию;
- метод
getOrInsertи другие улучшения JavaScript; - закрытие 20 уязвимостей, семь из которых были высокого уровня риска.
Практическое применение в проектах
Как начать использовать
import deferпрямо сейчас? Первый шаг - проверить, какие модули в вашем приложении загружаются редко или не сразу при старте. Это могут быть компоненты интерфейса, которые появляются при клике пользователя, или блоки анализа, которые нужны только на определённых страницах. Замените обычный импорт на отложенный и протестируйте в Chrome 145 и выше.Для тех, кто ещё использует старые браузеры, не волнуйтесь: поскольку TypeScript и Babel уже поддерживают
import defer, они сумеют трансформировать этот синтаксис в совместимый код. Это значит, что вы можете писать на новом стандарте, а инструменты позаботятся о совместимости.Рекомендуемые шаги для внедрения:
- найти модули с низким приоритетом загрузки в вашем приложении;
- заменить
importнаimport deferдля этих модулей; - протестировать в Chrome 145 и современных версиях других браузеров;
- мониторить Performance API и сравнить время загрузки до и после;
- постепенно расширять применение на другие модули, если результаты положительные.
Планы на ближайшие месяцы
Экосистема JavaScript не стоит на месте. Chrome 146 уже планируется на 24 марта 2026 года, что означает новый цикл улучшений и оптимизаций. ECMAScript 2026 будет финализирован весной, когда
getOrInsertдостигнет стадии 4 (финальной) и станет официальным стандартом. Остаётся следить за обновлениями других браузеров и инструментов, чтобы убедиться, что ваше приложение использует все доступные возможности для оптимизации.Пока основные инструменты и Chrome 145 уже готовы работать с новыми возможностями, остальным разработчикам стоит начинать готовиться к переходу. Обновления стандартов JavaScript - это не просто формальность, а реальный прирост возможностей для сборки более быстрых и эффективных приложений. Вопрос в том, насколько быстро вы сумеете адаптировать свой стек под новые реальности.
Здравствуйте! Похоже, вас заинтересовала эта беседа, но у вас ещё нет аккаунта.
Надоело каждый раз пролистывать одни и те же посты? Зарегистрировав аккаунт, вы всегда будете возвращаться на ту же страницу, где были раньше, и сможете выбирать, получать ли уведомления о новых ответах (по электронной почте или в виде push-уведомлений). Вы также сможете сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.
С вашими комментариями этот пост мог бы стать ещё лучше 💗
Зарегистрироваться Войти© 2024 - 2026 ExLends, Inc. Все права защищены.