在 for 循環 for (var i = 0; i < 10; i++) 的第一行斷點處,控制台顯示 i 為 undefined。
JavaScript 引擎在執行到該行前,尚未執行 var i = 0 初始化語句。斷點暫停時,變量聲明已提升(Hoisting)但賦值未執行,故值為 undefined。
i,此時顯示 1(已執行 i++)。let 或 const(ES6),存在暫時性死區(TDZ),在聲明前訪問會直接拋出 ReferenceError,而非 undefined。