Skip to content
Wen-Hsiu Hsu's Avatar Image
Wen-Hsiu Hsu's Avatar Image

程式碼之外,還有生活的藝術 前端工程師 / 攝影 / 生活紀錄

  • 文章150
  • 標籤70
Buy Me A Coffee

最新文章

混合 Dev 和 Life 的所有最新內容

150 篇
2026-05-2111 分鐘閱讀

說明 `Object.prototype` 作為原型鏈頂端的角色,以及 `hasOwnProperty` 等內建方法如何透過原型鏈被所有物件存取,並釐清 `[[prototype]]` 與 `Object.prototype` 這兩個容易混淆的命名。

2026-05-2114 分鐘閱讀

逐步追蹤 Object.create() 搭配原型鏈的執行流程,說明 `[[prototype]]` 隱藏屬性如何讓 JavaScript 自動向上查找方法,以及 `this` 作為隱含參數如何確保共用函式能正確作用於不同物件。

2026-05-2010 分鐘閱讀

工廠函式的記憶體缺陷,以及如何透過 Object.create() 建立原型連結,讓所有使用者物件共享同一份方法,達成高效能目標。

2026-05-209 分鐘閱讀

介紹工廠函式(Factory Function)如何解決手動逐一建立物件的重複問題,並逐步拆解 JavaScript 執行環境在每次呼叫時的運作流程,以及這個解法的記憶體效率缺陷。

2026-05-199 分鐘閱讀

介紹封裝的核心概念,並以測驗遊戲為例,示範三種在 JavaScript 中建立物件的方式:物件字面值、點記法與 Object.create(),同時說明各自的特性與適用情境。

2026-05-1910 分鐘閱讀

從「儲存資料、對資料執行操作」這兩件事出發,說明為什麼大型程式碼庫需要物件導向設計,以及 JavaScript 如何透過原型鏈實現 OOP 典範。

2026-05-1813 分鐘閱讀

說明 Promise 的錯誤處理機制:透過 `[[RejectReactions]]` 與 `.catch()` 統一管理失敗情境。並介紹 2022 年新增的 `AbortSignal.timeout()`,示範如何為 `fetch` 加上超時自動中止的能力。最後整理 Microtask Queue、Callback Queue 與 Event Loop 的完整執行規則。

2026-05-1712 分鐘閱讀

說明 JavaScript 非同步系統中存在兩個佇列:Callback Queue 與 Microtask Queue。透過同時混用 `setTimeout` 與 `fetch` 的程式碼,逐步追蹤執行時間軸,說明 Event Loop 為何永遠優先清空 Microtask Queue,以及這個規則如何決定最終的輸出順序。

2026-05-1712 分鐘閱讀

逐步追蹤同時包含 `setTimeout` 與 `fetch` 的程式碼執行流程,說明 Callback Queue 與 Promise 回呼機制如何在同一段程式碼中並行運作,並以此引出一個關鍵問題:當兩者同時就緒,究竟誰先執行?

2026-05-1612 分鐘閱讀

說明 `fetch` 建立的 Promise 物件如何跨越 JavaScript 引擎與瀏覽器兩個環境:瀏覽器的網路請求持有指向 Promise 物件的記憶體參照,背景工作完成時透過這個參照直接更新 `[[Result]]`。同時說明 Promise 物件為何不會在局部執行環境退出後消失,以及為何 Promise 回呼使用的不是 Callback Queue,而是優先權更高的 Microtask Queue。

MIT Licensed | Copyright © 2025-present Wen-Hsiu's Blog
Photo by Aram on Unsplash