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

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

  • 文章105
  • 標籤61
Buy Me A Coffee

Dev

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

103 篇
2026-06-029 分鐘閱讀

整理 JavaScript 強制轉型中最常見的角落案例,追溯大多數 ToNumber 意外行為的共同根源——空字串轉為 0 的設計決策,並說明 boolean 轉數字在鏈式比較運算子中製造的表面正確但實際錯誤的問題。

2026-06-029 分鐘閱讀

說明 Boxing 的運作機制:當你在原始字串或數字上存取 .length 或呼叫方法時,JavaScript 會自動將原始值暫時包裝成對應的物件。這是一種隱式強制轉型,也是「所有東西都是物件」這個誤解的真正來源。

2026-06-0115 分鐘閱讀

從實際程式碼出發,說明強制轉型早已存在於日常開發中:模板字串、+ 運算子、一元 +、if 條件判斷,背後都是抽象操作在運作。整理字串、數字、boolean 三類轉型的常見陷阱,以及 Kyle Simpson 對顯式與隱式轉型的使用立場。

2026-06-019 分鐘閱讀

介紹 ToBoolean 抽象操作的運作方式:它不執行轉換演算法,只做 falsy 清單查表。列出 JavaScript 中完整的七個 falsy 值,並說明為什麼空陣列是 truthy,以及 ToBoolean 與 ToNumber 的關鍵行為差異。

2026-05-3111 分鐘閱讀

介紹 ToNumber 抽象操作的數值轉換規則:空字串轉 0 的設計缺陷、null 與 undefined 的不一致處理,以及物件與陣列透過 ToPrimitive 先字串化再數值化的轉換連鎖機制。

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 的標準實作模式。

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