JavaScript で変数名や関数名に使用できない予約語一覧

予約語とは

予約語とは、JavaScript の処理に使用する単語のことで、条件分岐や繰り返し処理を意味するめ、変数、関数、メソッド、オブジェクトの識別子に使用することはできません。
ブラウザによってはメソッド、オブジェクトの識別子に使用しても動作するようですが、使わないようにしましょう。

var break = "予約語"; // 変数名に指定できません

function break() {} // 関数名に指定できません

var obj = {
    break() { // メソッド名に指定しないようにしましょう
        return "BREAK";
    }
}

var obj = {
    break: "BREAK" // 識別子に指定しないようにしましょう
}

エラー表示

Uncaught SyntaxError: Unexpected token 'break'

または下記のようなエラーメッセージが表示される場合があります。

Uncaught SyntaxError: Unexpected reserved word

予約語一覧(ECMAScript)

  • break
  • case
  • catch
  • class
  • const
  • continue
  • debugger
  • default
  • delete
  • do
  • else
  • enum
  • export
  • extends
  • false
  • finally
  • for
  • function
  • if
  • import
  • in
  • instanceof
  • new
  • null
  • return
  • super
  • switch
  • this
  • throw
  • true
  • try
  • typeof
  • var
  • void
  • while
  • with

厳格モードの場合のみ使用できない予約語

以下は 厳格モードのコード として実行されたときに 、変数名や関数名に指定できません。
しかし、特に理由がないのであれば変数名や関数名に使用しないようにしましょう。
将来的に非厳格モードでも使用できなくなる可能性があります。

  • implements
  • interface
  • let
  • package
  • private
  • protected
  • public
  • static
  • yield

リテラルも変数名、関数名に使用できない

下記のリテラルも予約語ではありませんが、変数名や関数名に使用できません。

  • null
  • true
  • false