Что ждать от jQuery v4

В феврале команда jQuery предоставила бета-версию новой библиотеки jQuery 4.0.0.Это является тестовым релизом, но в ближайшее время ожидается стабильная версия. Это версия добавляет значительные изменения с целью оптимизации и для соответствия современным стандартам веб-разработки. И посмотрим ключевые моменты которые пришли с этим релизом:

IE 11 и старее, прощайте

Новая версия убирает из поддержки работу в старых браузерах типа IE и оптимизирует свой код для современных сред. И удаление поможет в том числе для уменьшения веса довольно большой библиотеки.

Удаление устаревших API

Этот список был уже устаревшим и ранее, но пришло время их удалить на совсем в этом релизе. Эти функции были предназначены для внутреннего использования или у них есть уже аналоги. Они включают:

  • jQuery.cssNumber
  • jQuery.cssProps
  • jQuery.isArray
  • jQuery.parseJSON
  • jQuery.nodeName
  • jQuery.isFunction
  • jQuery.isWindow
  • jQuery.camelCase
  • jQuery.type
  • jQuery.now
  • jQuery.isNumeric
  • jQuery.trim
  • jQuery.fx.interval

Убраны методы push, sort, splice

В 4 версии убраны устаревшие методы по работе с массивами, которые уже давно существуют в нативном js. При переходе на новую версию, изменение кода будут выглядеть так: `[].push.call($elems, elem) вместо $elems.push(elem))`. Эти изменения также могут повлиять на плагины

Порядок событий у focusin и focusout

Изменение коснулось порядка событий focusin, focusout, focus, blur. У jQuery ранее был свой порядок, но теперь он соответствует спецификации W3C, за исключением IE. Новый порядок следует так:

  • blur
  • focusout
  • focus
  • focusin

Поддержка FormData

Теперь jQuery поддерживает двоичные данные, включая FormData в запросах AJAX. Это является нарушение совместимости, но обеспечивает автоматическую обработку двоичных данных и соответствует ожидаемому поведению.

Убрано использование JSONP

В новой версии исключили продвижение запросов JSONP. Библиотека придерживается современных практик междоменного взаимодействия в соответствии с политикой CORS. Эта мера направленна на предотвращение неожиданного поведения и соответствие jQuery стандартам веб-безопасности.

Переход к модулям ES

Существенное изменение в 4 версии связано с переходам к модулям ECMAScript (ES). Это переход улучшает совместимость с современными системами модулей JS, например с Rollup. Теперь можно напрямую импортировать модули из jQuery без необходимости в RequireJS, упрощая интеграцию в многие проекты.

Trusted Types и CSP

jQuery вводит поддержку Trust Types, которое обеспечит безопасное использование HTML в методах jQuery (html(), append() и пр) в соответствии с Content Security Policy. Также в асинхронных запросах скриптов были внесены корректировки для уменьшение ошибок с CSP.

Миграция на новую версию

Переход с jQuery 3.0+ на 4.0.0 должен быть плавным. Разработчики смогут использовать плагин jQuery Migrate, который поможет выявить и устранить проблемы с совместимостью, обеспечив более плавный переход к последней версии.

Сжатый вариант новой версии

В v 4.0.0 сжатый вариант прошел дополнительную оптимизацию за счет исключения deferreds и callbacks. Это сократило размер, что особенно полезно сегодня. В итоге «сжатый вариант» (или slim build) это обновленная библиотека предоставляет легковесную альтернативу, которая не жертвует какой-либо функциональностью.

Читайте также
Что нового в Chrome 118
Что нового в Chrome 118
Что нового в Chrome 118

Кратко рассказываем об обновлениях Chrome.

Gleam 1.0: Статически типизированный функциональный язык на Erlang VM достиг v1.0
Gleam 1.0: Статически типизированный функциональный язык на Erlang VM достиг v1.0
Gleam 1.0: Статически типизированный функциональный язык на Erlang VM достиг v1.0

Gleam, функциональный язык с акторной моделью, работающий на виртуальной машине Erlang (BEAM), достиг версии 1.0. Это означает, что теперь он готов к использованию в производственных системах с гарантией обратной совместимости на основе семантического версионирования. Gleam стремится быть языком с небольшой областью применения, легким для чтения и понимания, а также выразительным. Преимущества Gleam: Конкуренция на BEAM […]

Бесплатный инструмент поможет веб-разработчикам разобраться со «сложным» SEO-обновлением Google
Бесплатный инструмент поможет веб-разработчикам разобраться со «сложным» SEO-обновлением Google
Бесплатный инструмент поможет веб-разработчикам разобраться со «сложным» SEO-обновлением Google

Комплексное обновление соответствует более сложному подходу к оценке сайтов для ранжирования.

Что было важного у JavaScript в 2023: сигналы, RSC
Что было важного у JavaScript в 2023: сигналы, RSC
Что было важного у JavaScript в 2023: сигналы, RSC

Важные события в 2023 связанные с JavaScript — внедрение сигналов, React компоненты для сервера. JS уже фуллстек?