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

說明為什麼箭頭函式不應該被當作所有函式的通用替代品:作為匿名函式,它繼承了所有匿名函式表達式的問題。整理何時可以接受用箭頭函式,以及唯一合理的例外場景。

2026-06-1512 分鐘閱讀

說明為什麼應該永遠使用命名函式表達式的三個理由:可靠的自我參考、可讀的 stack trace,以及程式碼自我說明。同時整理函式宣告與函式表達式的選擇建議。

2026-06-149 分鐘閱讀

說明函式宣告與函式表達式的關鍵差異:兩者的識別字歸屬範疇不同。函式宣告的識別字屬於外層封閉範疇,函式表達式的識別字屬於函式自身範疇且是唯讀的。以及判斷兩者的唯一標準。

2026-06-1410 分鐘閱讀

介紹三層巢狀範疇的查找機制:函式宣告的識別字屬於其外層封閉範疇、參數等同於函式範疇內的正式宣告,以及來源參考查找失敗時永遠拋出 ReferenceError。

2026-06-1313 分鐘閱讀

介紹詞彙範疇的兩個邊界案例:沒有宣告遮蔽時,賦值會沿範疇鏈往上修改外層變數;對完全未宣告的變數賦值時,非嚴格模式下會自動建立全域變數。說明為什麼後者幾乎永遠是 bug。

2026-06-1313 分鐘閱讀

介紹 JavaScript 執行階段的識別字查找機制:變數的目標(接收賦值)與來源(提供值)兩種角色,執行期如何沿著詞彙範疇鏈向外查找,以及找不到或對非函式呼叫時會發生什麼。

2026-06-1211 分鐘閱讀

透過「編譯器與範疇管理器的對話」模型,逐步走讀一段程式碼的編譯階段處理過程:每個正式宣告如何被分配到對應範疇、遮蔽(Shadowing)是什麼,以及為什麼所有範疇與識別字的歸屬在執行前就已完全確定。

2026-06-129 分鐘閱讀

介紹 JavaScript 範疇的基礎概念:範疇就是「找識別字的地方」,而 JavaScript 在執行前必然存在一個解析階段來設定所有範疇。說明為什麼 JavaScript 是兩階段系統,以及函式與區塊這兩種範疇單位。

2026-06-117 分鐘閱讀

介紹 Kyle Simpson 認為 TypeScript 最被低估的功能:不只檢查變數賦值,還能驗證運算本身的型別有效性(如阻止字串參與數學運算)。同時說明他對 TypeScript 目前「全有或全無」設定方式的批評。

2026-06-106 分鐘閱讀

介紹 TypeScript 與 Flow 的自訂型別定義與函式參數標註:如何讓型別保證跨越參數與回傳值傳遞,以及 Kyle Simpson 對聯合型別的實際考量——在型別安全與彈性之間取得平衡。

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