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

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

  • 文章183
  • 標籤83
Buy Me A Coffee

Dev

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

181 篇
2026-05-124 分鐘閱讀

介紹 JavaScript 第四條強制轉換流程 ToPrimitive:當運算元為物件時如何透過 @@toPrimitive 隱藏屬性取得原始型別值,以及 hint 機制如何決定轉換目標,並以 Date 物件相減為核心範例說明。

2026-05-1110 分鐘閱讀

介紹 JavaScript Date 物件內部的 [[DateValue]] 隱藏屬性與 Unix Epoch 時間戳記,並說明方括號記法如何對變數求值以動態決定屬性名稱,作為元程式設計的前置概念。

2026-05-1112 分鐘閱讀

說明 JavaScript 原始型別與物件在記憶體中的儲存差異:原始型別直接存於 Stack,物件存於 Heap 並以參考存取。解析為何用 == 或 === 比較內容相同的兩個物件仍回傳 false,以及賦值複製的是參考而非物件本身。

2026-05-1010 分鐘閱讀

整理 JavaScript 型別強制轉換的三條核心流程:ToNumber、ToString、ToBoolean,以及各運算子實際觸發的轉換路徑,建立可操作的心智模型。

2026-05-0912 分鐘閱讀

介紹 JavaScript 第三種原始型別強制轉換 ToBoolean,說明 falsy 值的判斷邏輯,並透過捐款欄位範例,解析為何寬鬆相等(==)會因觸發 ToNumber 導致非預期結果,以及嚴格相等(===)如何避免這個問題。

2026-05-086 分鐘閱讀

JavaScript 多數數學運算子都會觸發 ToNumber,但加法運算子(+)只要一側是字串,就會改觸發 ToString 並執行字串串接。本文整理各運算子的強制轉換規則差異,並示範如何用一元加號或 Number() 在 DOM 邊界手動控制型別。

2026-05-0711 分鐘閱讀

介紹 JavaScript 型別強制轉換的設計背景,說明運算子與函式的本質差異、DOM 輸入為何永遠是字串,以及 ToNumber 如何自動處理混合型別的數學運算。

2026-05-068 分鐘閱讀

說明 Closure 如何成為 JavaScript 進階功能的實作基礎,涵蓋 once、memoize、Iterator、Generator、Module Pattern 與非同步 Callback 的設計原理。

2026-05-0511 分鐘閱讀

釐清 closure 的常見誤解:外層函式本身沒有記憶,被回傳的函式攜帶的是定義當下的資料快照。說明本地記憶體與背包的差異、背包的私有性與持久性,以及如何透過重新指派變數釋放背包記憶體,最後延伸至 IIFE 與 Module Pattern 的核心原理。

2026-05-0412 分鐘閱讀

每次呼叫外層函式都會產生獨立的 closure,彼此狀態互不影響。本文透過程式碼範例,說明變數定義在本地、背包或全域時的不同行為,以及 JavaScript 查找變數的完整優先順序。

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