← 回到首頁
#JavaScript 2 篇文章
從全域污染到 import:CommonJS 與 ESM 的由來、差別與未來
為什麼 Node 用 require,瀏覽器卻用 import?為什麼有些套件叫 .mjs,有些叫 .cjs?這些混亂的根源,是 JavaScript 模組系統一段橫跨十幾年的演進史。本文從沒有模組的年代講起,用實際程式碼對照 CommonJS 與 ESM 的差別,再說清楚為什麼 ESM 是未來。
#JavaScript#CommonJS#ESM#ES Modules#Node.js#模組系統
從 Hoisting 到 Execution Context Stack:揭開 JavaScript 執行機制的面紗
為什麼 var 可以「先用後宣告」?為什麼函式可以倒著呼叫?這些 JavaScript 看似神奇的行為,背後其實都指向同一件事:Execution Context 與它的 Stack。本文從 Hoisting 表象切入,逐層深入引擎的執行機制,搭配圖解徹底釐清。
#JavaScript#Execution Context#Call Stack#Hoisting#var#let#const