Найти в Дзене

jQuery 4.0.0: релиз к 20-летию библиотеки и ключевые изменения

Команда jQuery выпустила первую за почти 10 лет мажорную версию — jQuery 4.0.0, приуроченную к 20-летию библиотеки. Это масштабное обновление, которое модернизирует код, удаляет устаревшие API и вносит ряд изменений ломающих совместимость. jQuery 4.0 перестаёт поддерживать IE10 и старше, Edge Legacy (не-Chromium), очень старые версии iOS, Firefox и Android Browser. Поддержка IE11 пока остаётся, но будет удалена в jQuery 5.0. Это историческое обновление очищает библиотеку от исторического багажа, делая её более современной и ориентированной на будущее. Для новых проектов стоит рассматривать нативные API браузеров, но для поддержки legacy-кода jQuery 4.0 — отличный путь вперёд. #jQuery #JavaScript #Frontend #WebDev #jQuery4
Оглавление

Команда jQuery выпустила первую за почти 10 лет мажорную версию — jQuery 4.0.0, приуроченную к 20-летию библиотеки. Это масштабное обновление, которое модернизирует код, удаляет устаревшие API и вносит ряд изменений ломающих совместимость.

Сроки поддержки браузеров

jQuery 4.0 перестаёт поддерживать IE10 и старше, Edge Legacy (не-Chromium), очень старые версии iOS, Firefox и Android Browser. Поддержка IE11 пока остаётся, но будет удалена в jQuery 5.0.

Ключевые изменения и улучшения

Удалены давно устаревшие методы (их следует заменить на нативные аналоги):

  • jQuery.isArray → Array.isArray()
  • jQuery.parseJSON → JSON.parse()
  • jQuery.trim → String.prototype.trim()
  • jQuery.type, jQuery.now, jQuery.isNumeric и другие.
  • Это сократило размер библиотеки более чем на 3 КБ в gzip.

Модернизация кодовой базы:

  • Исходный код переведён с AMD на ES-модули, что улучшает совместимость с современными сборщиками.
  • Добавлена поддержка Trusted Types для безопасной работы с HTML под строгими политиками CSP.

Изменения в поведении:

  • Порядок событий фокуса (focus, blur, focusin, focusout) теперь соответствует актуальной спецификации W3C, а не старому решению jQuery.
  • Автоматическое добавление "px" к unitless-значениям в .css() сильно ограничено. Теперь px добавляется только к известному набору свойств.
  • Slim-сборка стала ещё меньше: из неё удалены модули Deferred и Callbacks (размер ~19.5 КБ в gzip), так как в поддерживаемых браузерах (кроме IE11) можно использовать нативные Promise.

Как обновляться? Важные шаги:

  1. Используйте плагин jQuery Migrate для выявления проблем в существующем коде.
  2. Если нужна поддержка удалённых старых браузеров (IE10 и др.) — оставайтесь на ветке 3.x.

Ссылки для скачивания:

Это историческое обновление очищает библиотеку от исторического багажа, делая её более современной и ориентированной на будущее. Для новых проектов стоит рассматривать нативные API браузеров, но для поддержки legacy-кода jQuery 4.0 — отличный путь вперёд.

#jQuery #JavaScript #Frontend #WebDev #jQuery4