本篇文章更新時間: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 撰寫與測試
- 更適合現代前端工作流程
- 支援
這意味著 jQuery 正式從 2010 年代的模組世界邁向現代。
三、Deprecated API 正式下架
以下老朋友全部移除:
jQuery.isArrayjQuery.trimjQuery.parseJSONjQuery.isFunctionjQuery.now
官方也表示:請改用原生方法,如:
Array.isArray()JSON.parse()String.prototype.trim()Date.now()
其實這些方法早就被主流瀏覽器完整支援,現在正是 jQuery 放手的時候。
四、事件系統與行為更貼近 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 的替代方案
- 過程漸進、不破壞使用者
如果你負責維護老系統,我會建議:
- 先導入 jQuery Migrate
- 查看控制台警告,逐步移除 deprecated API
- 確認瀏覽器支援範圍是否能升級
- 再進行 jQuery 4.0 的更新
jQuery 可能不是未來前端的主角,但它依然是生態系中不可忽略的穩定力量。20 年後依然在演進,確實值得尊敬。
