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-109 分鐘閱讀

介紹 TypeScript 與 Flow 的兩種基本型別機制:型別推斷(根據初始值猜測)與型別標註(開發者明確聲明)。說明兩者的差異、JavaScript 變數型別的根本不同,以及 Kyle Simpson 對靜態推斷的個人立場。

2026-06-099 分鐘閱讀

從 JavaScript 型別討論延伸到 TypeScript 與 Flow:整理這類靜態型別工具的三個核心優點(捕捉錯誤、傳達意圖、IDE 整合),以及兩個值得注意的侷限(推斷是最佳猜測、選擇性標註帶來虛假安全感)。同時呈現 Kyle Simpson 不使用 TypeScript 的真正理由。

2026-06-0912 分鐘閱讀

逐步解析 findAll 練習的實作邏輯:以 Object.is() 作為第一關處理 NaN 與 -0,再依序處理 null/undefined 互匹配、boolean 嚴格配對,以及字串與數字的受控強制轉型——示範如何先消除角落案例,再安全地使用 ==。

2026-06-0813 分鐘閱讀

實作 findAll(value, array) 練習:在一套明確的強制相等規則下,找出陣列中所有符合條件的值。規則涵蓋 null/undefined 互匹配、字串與數字的受控轉型、NaN 與 -0 的特殊處理,以及 boolean 與物件的嚴格限制。

2026-06-0811 分鐘閱讀

呈現 Kyle Simpson 對 == 與 === 的核心主張:知道型別時,== 在所有情境下都是更好的選擇。從型別相同時的等價性、TypeScript 的邏輯對稱性、效能比較,到語意訊號的溝通,逐一論證這個立場。

2026-06-078 分鐘閱讀

整理 == 的實際使用準則:哪三種情境應該避免(任一側可能是 0 或空字串、非原始型別比較、與 true 或 false 比較),以及為什麼知道型別、知道轉型有意義,== 才是好工具。

2026-06-0711 分鐘閱讀

說明為什麼 == true 和 == false 是應該完全避免的模式:透過演算法追蹤,揭示空陣列與 false 意外相等、與 true 意外不相等的原因,並說明讓 if 條件自然觸發 ToBoolean 才是正確做法。

2026-06-069 分鐘閱讀

以 42 == [42] 為反面教材,完整走過 == 演算法的每一步,說明這個意外回傳 true 的結果是多個角落案例疊加的產物。並釐清核心結論:問題不在 == 或 ===,而在於這個比較本身就不合邏輯。

2026-06-0611 分鐘閱讀

完整解析 == 演算法的核心傾向:偏好將不同型別的值轉為數字再比較。說明型別相同時直接執行 ===、遇到物件時先觸發 ToPrimitive,以及整個演算法如何遞迴收斂到最終結果。

2026-06-0511 分鐘閱讀

說明 == 在型別不同時的實際演算法,並聚焦在最具實用價值的場景:null 與 undefined 在強制相等下只彼此匹配、不與其他任何值相等,讓 == null 成為同時處理兩種空值狀態的簡潔慣用法。

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