jQuery 4.0 到底換了什麼?20 週年的大改版,我讀完後的重點筆記

本篇文章更新時間:2026/01/19
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知。
一介資男的 LINE 社群開站囉!歡迎入群聊聊~
如果本站內容對你有幫助,歡迎使用 BFX Pay 加密貨幣新台幣 贊助支持。


jQuery 4.0:一個 20 年專案的重量級更新

從支援 IE 到全面現代化,jQuery 4.0 帶來了哪些真正值得注意的變化?

編輯前言:本文整理自官方釋出的 4.0 版本公告:jQuery 4.0.0 | Official jQuery Blog。雖然 jQuery 已不再是前端主角,但這次更新代表著一個 20 年專案如何與現代 Web 同步,是前端工程師值得關注的演進案例。

核心觀點(Key Takeaways)

  • jQuery 4.0 的主軸是 全面現代化:移除老舊瀏覽器、採用 ES modules、刪除過時 API。
  • 刪除大量 legacy code,gzip 後縮小約 3k bytes,slim 版更是縮到 19.5k。
  • 絕大多數專案 可平滑升級,但要注意 deprecated API 被正式移除。

深入解析

這次更新真正關鍵的不是「新功能」,而是「卸下歷史包袱」。以下我整理出幾個最具代表性的變化。

一、瀏覽器支援大幅瘦身
jQuery 官方終於宣布:

jQuery 4.0 drops support for IE < 11.

也包含:

  • Edge Legacy
  • iOS 舊版
  • Android Browser
  • Firefox 舊版

換句話說,jQuery 4.0 完全以現代瀏覽器為設計基準。如果你還在支援 IE10,那就只能停留在 jQuery 3.x。

二、全面導入 ES Modules
原文提到:

It was a special day when the jQuery source … migrated from AMD to ES modules.

這是重大轉變。jQuery 以往依賴 AMD(RequireJS),現在已能:

  • 直接在 bundler(如 Vite、Webpack、Rollup)中以 ES module 撰寫與測試
  • 更適合現代前端工作流程
  • 支援

四、事件系統與行為更貼近 W3C 標準
過去各瀏覽器的 focus/blur 事件順序不一致(尤其 IE 是永遠的麻煩製造者)。如今新版採用現代標準:

  • blur
  • focusout
  • focus
  • focusin

舊版 jQuery 曾自行模擬一套一致的順序,但現在不再 override native 行為。

五、Slim build 更小更純粹
Slim 版移除:

  • Deferreds
  • Callbacks
  • Ajax

文件指出:

slim build is now around 19.5k bytes gzipped!

在現代應用中,很多專案早已用原生 Promise 或其他 AJAX library,slim 版變得更適合輕量需求。

筆者心得與啟發

看完這篇官方公告,我最強烈的感受是:jQuery 終於完成它的時代交接

雖然在新專案裡我們很少主動使用 jQuery,但它仍存在於大量舊系統、CMS、插件、生態工具中。這次更新象徵著:

  • jQuery 不再背負「兼容所有瀏覽器」的重責
  • 專案架構正式現代化(ESM、移除 legacy API、減少 polyfill)
  • 舊專案得以在不破壞功能的前提下逐步升級

對我而言,這是一個 前端技術債清償的典範案例

  • 先提供 Migrate plugin 協助過渡
  • 重大變更集中於 major release
  • 清楚標示 deprecated API 的替代方案
  • 過程漸進、不破壞使用者

如果你負責維護老系統,我會建議:

  1. 先導入 jQuery Migrate
  2. 查看控制台警告,逐步移除 deprecated API
  3. 確認瀏覽器支援範圍是否能升級
  4. 再進行 jQuery 4.0 的更新

jQuery 可能不是未來前端的主角,但它依然是生態系中不可忽略的穩定力量。20 年後依然在演進,確實值得尊敬。


Share:

作者: Chun

資訊愛好人士。主張「人人都該為了偷懶而進步」。期許自己成為斜槓到變進度條 100% 的年輕人。[///////////____36%_________]

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


文章
Filter
Apply Filters
Mastodon