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

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

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

Dev

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

148 篇
2026-06-0511 分鐘閱讀

釐清 == 與 === 最常被誤解的地方:兩者都會先檢查型別,真正的差異只在型別不同時是否允許強制轉型。說明型別相同時兩者完全等價,以及物件比較時兩者都做身份比較而非結構比較。

2026-06-046 分鐘閱讀

逐步解析 isValidName 與 hoursAttended 兩個驗證函式的實作邏輯:如何用 typeof 搭配 trim() 排除空白字串、如何讓「先轉型再統一驗證」的流程自然過濾非法輸入,以及 Number.isInteger() 在整數檢查中的角色。

2026-06-0412 分鐘閱讀

透過兩個輸入驗證函式(isValidName、hoursAttended)練習強制轉型的實際應用:如何正確排除空字串、非法型別、非整數,以及在允許字串與數字混用的情境下,有意識地決定在哪裡允許轉型、在哪裡阻止它。

2026-06-036 分鐘閱讀

釐清隱式強制轉型的本質:它不是魔法,而是一種抽象。提供一個判斷何時應顯式轉型、何時可讓 JavaScript 隱式處理的實務框架——核心問題只有一個:顯示這個型別細節,對讀者有幫助嗎?

2026-06-039 分鐘閱讀

說明面對強制轉型角落案例的正確態度:不是迴避整個機制,而是設計型別邊界清楚的函式,並透過程式碼風格讓型別意圖一目了然。同時呈現 Kyle Simpson 對 JavaScript 型別系統的核心立場。

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 先字串化再數值化的轉換連鎖機制。

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