最新文章
混合 Dev 和 Life 的所有最新內容
150 篇2026-06-106 分鐘閱讀
介紹 TypeScript 與 Flow 的自訂型別定義與函式參數標註:如何讓型別保證跨越參數與回傳值傳遞,以及 Kyle Simpson 對聯合型別的實際考量——在型別安全與彈性之間取得平衡。
Deep JavaScript Foundations v3
#JavaScript #frontendMasters #deepJavaScriptFoundationsV3 #TypeScript 2026-06-109 分鐘閱讀
介紹 TypeScript 與 Flow 的兩種基本型別機制:型別推斷(根據初始值猜測)與型別標註(開發者明確聲明)。說明兩者的差異、JavaScript 變數型別的根本不同,以及 Kyle Simpson 對靜態推斷的個人立場。
Deep JavaScript Foundations v3
#JavaScript #frontendMasters #deepJavaScriptFoundationsV3 #TypeScript 2026-06-099 分鐘閱讀
從 JavaScript 型別討論延伸到 TypeScript 與 Flow:整理這類靜態型別工具的三個核心優點(捕捉錯誤、傳達意圖、IDE 整合),以及兩個值得注意的侷限(推斷是最佳猜測、選擇性標註帶來虛假安全感)。同時呈現 Kyle Simpson 不使用 TypeScript 的真正理由。
Deep JavaScript Foundations v3
#JavaScript #frontendMasters #deepJavaScriptFoundationsV3 #TypeScript 2026-06-0912 分鐘閱讀
逐步解析 findAll 練習的實作邏輯:以 Object.is() 作為第一關處理 NaN 與 -0,再依序處理 null/undefined 互匹配、boolean 嚴格配對,以及字串與數字的受控強制轉型——示範如何先消除角落案例,再安全地使用 ==。
Deep JavaScript Foundations v3
#JavaScript #frontendMasters #deepJavaScriptFoundationsV3 #EqualityComparison #TypeCoercion 2026-06-0813 分鐘閱讀
實作 findAll(value, array) 練習:在一套明確的強制相等規則下,找出陣列中所有符合條件的值。規則涵蓋 null/undefined 互匹配、字串與數字的受控轉型、NaN 與 -0 的特殊處理,以及 boolean 與物件的嚴格限制。
Deep JavaScript Foundations v3
#JavaScript #frontendMasters #deepJavaScriptFoundationsV3 #EqualityComparison #TypeCoercion 2026-06-0811 分鐘閱讀
呈現 Kyle Simpson 對 == 與 === 的核心主張:知道型別時,== 在所有情境下都是更好的選擇。從型別相同時的等價性、TypeScript 的邏輯對稱性、效能比較,到語意訊號的溝通,逐一論證這個立場。
Deep JavaScript Foundations v3
#JavaScript #frontendMasters #deepJavaScriptFoundationsV3 #EqualityComparison #TypeCoercion 2026-06-078 分鐘閱讀
整理 == 的實際使用準則:哪三種情境應該避免(任一側可能是 0 或空字串、非原始型別比較、與 true 或 false 比較),以及為什麼知道型別、知道轉型有意義,== 才是好工具。
Deep JavaScript Foundations v3
#JavaScript #frontendMasters #deepJavaScriptFoundationsV3 #EqualityComparison #TypeCoercion 2026-06-0711 分鐘閱讀
說明為什麼 == true 和 == false 是應該完全避免的模式:透過演算法追蹤,揭示空陣列與 false 意外相等、與 true 意外不相等的原因,並說明讓 if 條件自然觸發 ToBoolean 才是正確做法。
Deep JavaScript Foundations v3
#JavaScript #frontendMasters #deepJavaScriptFoundationsV3 #TypeCoercion #EqualityComparison 2026-06-069 分鐘閱讀
以 42 == [42] 為反面教材,完整走過 == 演算法的每一步,說明這個意外回傳 true 的結果是多個角落案例疊加的產物。並釐清核心結論:問題不在 == 或 ===,而在於這個比較本身就不合邏輯。
Deep JavaScript Foundations v3
#JavaScript #frontendMasters #deepJavaScriptFoundationsV3 #EqualityComparison #TypeCoercion 2026-06-0611 分鐘閱讀
完整解析 == 演算法的核心傾向:偏好將不同型別的值轉為數字再比較。說明型別相同時直接執行 ===、遇到物件時先觸發 ToPrimitive,以及整個演算法如何遞迴收斂到最終結果。
Deep JavaScript Foundations v3
#JavaScript #frontendMasters #deepJavaScriptFoundationsV3 #EqualityComparison #TypeCoercion MIT Licensed | Copyright © 2025-present Wen-Hsiu's Blog

