KDOC 680: constは宣言より前では外側に同名の変数があっても読めない

この文書のステータス

  • 作成
    • 2026-10-17 貴島
  • レビュー
    • 2026-10-17 貴島

概要

JavaScriptの const の宣言はスコープに入った時点で作られ、宣言の行を実行するまでは参照できない(一時的デッドゾーン)。そのため宣言より前では、外側に同名の変数があっても読めず ReferenceError になる。

const x = 1;
{
  try {
    console.log(x);
  } catch (e) {
    console.log(`${e.name}: ${e.message}`);
  }
  const x = 2;
}
ReferenceError: Cannot access 'x' before initialization

The variables are created when their containing Environment Record is instantiated but may not be accessed in any way until the variable’s LexicalBinding is evaluated.

ECMAScript 2025 Language Specification 14.3.1

関連

なし。