最新文章
混合 Dev 和 Life 的所有最新內容
97 篇2026-05-2910 分鐘閱讀
解析 Object.is() Polyfill 的實作思路:如何利用 1 / v === -Infinity 偵測負零、利用 v !== v 偵測 NaN,以及為什麼這兩個角落案例必須在 === 之前優先攔截。
Deep JavaScript Foundations v3
#JavaScript #frontendMasters #deepJavaScriptFoundationsV3 #Polyfill #NaN #NegativeZero 2026-05-2910 分鐘閱讀
透過實作 Object.is() 的 Polyfill,練習處理 === 的兩個例外案例:NaN 的自我不等於特性,以及負零與正零的區別。同時介紹 Polyfill 的標準實作模式。
2026-05-285 分鐘閱讀
介紹 IEEE 754 規格中合法存在的負零(-0):為什麼 ===、toString() 和大小比較運算子對它都會給出錯誤結果、如何用 Object.is() 正確檢測,以及在需要同時表達大小與方向的場景下負零的實際用途。
Deep JavaScript Foundations v3
#JavaScript #frontendMasters #deepJavaScriptFoundationsV3 #NegativeZero 2026-05-2811 分鐘閱讀
釐清 NaN 的正確心智模型:它不是「不是數字」,而是「無效數字」,型別仍是 number。說明 NaN 不等於自身的特性、任何涉及 NaN 的數學運算結果仍為 NaN,以及為什麼應該用 Number.isNaN() 而非舊版 isNaN() 來做檢測。
2026-05-2710 分鐘閱讀
釐清 JavaScript 中三種容易混淆的「空」狀態:undeclared(從未宣告)、undefined(已宣告但無值)、uninitialized(TDZ,存在但禁止存取)。說明三者的本質差異,以及 typeof 運算子在處理未宣告識別字時的特殊行為。
Deep JavaScript Foundations v3
#JavaScript #frontendMasters #deepJavaScriptFoundationsV3 #TDZ #Undefined 2026-05-277 分鐘閱讀
介紹 JavaScript 的 BigInt 原始型別:字面量語法(42n)、typeof 回傳值、與普通 number 型別的區別,以及為什麼兩者不能混合運算。
2026-05-2613 分鐘閱讀
介紹 typeof 運算子的核心特性:永遠回傳字串、回傳值是有限的可預測集合。並整理三個常見的特殊案例——typeof null 的歷史 bug、函式與陣列的差異處理,以及對未宣告識別字的安全行為。
Deep JavaScript Foundations v3
#JavaScript #frontendMasters #deepJavaScriptFoundationsV3 #TypeOf #Undefined 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 MIT Licensed | Copyright © 2025-present Wen-Hsiu's Blog

