Dev
前端技術、踩坑紀錄與學習筆記
148 篇2026-05-2612 分鐘閱讀
從 ECMAScript 規格書出發,釐清 JavaScript 型別系統的正確樣貌:原始型別有哪些、函式與陣列如何分類、為什麼「所有東西都是物件」是個誤解,以及動態定型語言中型別屬於值而非變數的核心概念。
Deep JavaScript Foundations v3
#JavaScript #frontendMasters #deepJavaScriptFoundationsV3 #PrimitiveTypes #TypeSystem 2026-05-2510 分鐘閱讀
介紹 private static fields 如何在類別層級儲存私有共享狀態,並以使用者數量上限為例說明其實際用途,最後整理四種 fields 的完整對照與課程總結。
JavaScript Hard Parts v3
#JavaScript #OOP #Class #Prototype #frontendMasters #javaScriptTheHardPartsV3 2026-05-2510 分鐘閱讀
說明為何需要私有欄位來防止外部直接修改物件屬性,介紹 `#` 符號的語法,以及 private instance fields 如何透過獨立的 private element properties 實現真正的封裝。
JavaScript Hard Parts v3
#JavaScript #OOP #Class #Prototype #frontendMasters #javaScriptTheHardPartsV3 2026-05-2411 分鐘閱讀
逐步拆解 public instance fields 在物件建立時的完整執行流程,說明 `new` 關鍵字如何在執行 `constructor` 主體之前就將 `fields` 中的預設值附加到新物件上。
JavaScript Hard Parts v3
#JavaScript #OOP #Class #Prototype #frontendMasters #javaScriptTheHardPartsV3 2026-05-2413 分鐘閱讀
說明 `static` 關鍵字如何將方法直接掛在類別函式物件上而非 `prototype`,以及 ES2022 新增的 public instance fields 如何讓每個實例自動帶有預設屬性,並對照三種 class 內部寫法的底層位置。
JavaScript Hard Parts v3
#JavaScript #OOP #Prototype #Class #frontendMasters #javaScriptTheHardPartsV3 2026-05-2311 分鐘閱讀
說明解法三遺漏 `new` 時的潛在錯誤與命名慣例的不嚴謹,並介紹 ES2015 的 `class` 語法如何在不改變底層機制的前提下,將建構函式與方法定義整合進同一個結構。
JavaScript Hard Parts v3
#JavaScript #Class #Prototype #OOP #frontendMasters #javaScriptTheHardPartsV3 2026-05-2310 分鐘閱讀
逐步拆解 `new` 關鍵字在呼叫建構函式時自動完成的三個步驟,並與解法二的手動流程對照,說明底層的原型鏈機制分毫未變。
2026-05-229 分鐘閱讀
介紹 `new` 關鍵字如何自動化物件建立、原型連結與回傳三個步驟,以及函式在 JavaScript 中同時具備函式與物件兩種身份,並說明 `prototype` 屬性與 `[[prototype]]` 的差異。
2026-05-2211 分鐘閱讀
說明為何普通函式在方法內部被呼叫時 `this` 會跑掉,並比較 `that = this` 這個舊式 hack 與箭頭函式的詞法綁定如何各自解決問題,最後整理解法二的優缺點。
2026-05-2111 分鐘閱讀
說明 `Object.prototype` 作為原型鏈頂端的角色,以及 `hasOwnProperty` 等內建方法如何透過原型鏈被所有物件存取,並釐清 `[[prototype]]` 與 `Object.prototype` 這兩個容易混淆的命名。
MIT Licensed | Copyright © 2025-present Wen-Hsiu's Blog

