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

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

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

Dev

前端技術、踩坑紀錄與學習筆記

148 篇
2026-05-3111 分鐘閱讀

介紹 toString 抽象操作的字串化規則,包含負零說謊、陣列省略方括號、null 與 undefined 被靜默省略等角落案例,以及物件預設輸出 [object Object] 的來源與覆寫方式。

2026-05-3011 分鐘閱讀

介紹 ECMAScript 規格書中的抽象操作概念,以及型別轉換的核心機制 ToPrimitive:型別提示(number / string)如何決定 valueOf() 與 toString() 的呼叫順序,以及整個演算法的遞迴特性。

2026-05-3010 分鐘閱讀

介紹 ECMAScript 規格書中的 Fundamental Objects(基本物件):哪些應搭配 new 建構(Date、RegExp、Error 等)、哪些絕對不該用 new(String、Number、Boolean),以及後者作為強制轉型函式的正確用途。

2026-05-2910 分鐘閱讀

解析 Object.is() Polyfill 的實作思路:如何利用 1 / v === -Infinity 偵測負零、利用 v !== v 偵測 NaN,以及為什麼這兩個角落案例必須在 === 之前優先攔截。

2026-05-2910 分鐘閱讀

透過實作 Object.is() 的 Polyfill,練習處理 === 的兩個例外案例:NaN 的自我不等於特性,以及負零與正零的區別。同時介紹 Polyfill 的標準實作模式。

2026-05-285 分鐘閱讀

介紹 IEEE 754 規格中合法存在的負零(-0):為什麼 ===、toString() 和大小比較運算子對它都會給出錯誤結果、如何用 Object.is() 正確檢測,以及在需要同時表達大小與方向的場景下負零的實際用途。

2026-05-2811 分鐘閱讀

釐清 NaN 的正確心智模型:它不是「不是數字」,而是「無效數字」,型別仍是 number。說明 NaN 不等於自身的特性、任何涉及 NaN 的數學運算結果仍為 NaN,以及為什麼應該用 Number.isNaN() 而非舊版 isNaN() 來做檢測。

2026-05-2710 分鐘閱讀

釐清 JavaScript 中三種容易混淆的「空」狀態:undeclared(從未宣告)、undefined(已宣告但無值)、uninitialized(TDZ,存在但禁止存取)。說明三者的本質差異,以及 typeof 運算子在處理未宣告識別字時的特殊行為。

2026-05-277 分鐘閱讀

介紹 JavaScript 的 BigInt 原始型別:字面量語法(42n)、typeof 回傳值、與普通 number 型別的區別,以及為什麼兩者不能混合運算。

2026-05-2613 分鐘閱讀

介紹 typeof 運算子的核心特性:永遠回傳字串、回傳值是有限的可預測集合。並整理三個常見的特殊案例——typeof null 的歷史 bug、函式與陣列的差異處理,以及對未宣告識別字的安全行為。

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