--- title: 予約語 slug: Web/JavaScript/Reference/Reserved_Words tags: - JavaScript translation_of: Web/JavaScript/Reference/Lexical_grammar#Keywords translation_of_original: Web/JavaScript/Reference/Reserved_Words ---
以下は予約語であり、変数、関数、メソッド、あるいはオブジェクトの識別子として用いることはできません。以下は ECMAScript の仕様で既存のキーワードとして予約されているものです。
以下は ECMAScript の仕様で将来のキーワードとして予約されているものです。現在は特別な機能を持っていませんが、将来機能を持つときのために、識別子として使用できません。このキーワードは、厳格モード、非厳格モードの両方で使用できません。
以下は 厳格モードのコード として実行されたときに 、ECMAScript の仕様で将来のキーワードとして 予約されているものです。ただし、JavaScript 1.7 以上では let
と yield
は伝統的な Mozilla 特有の機能を持っています。
const
は ECMAScript の仕様によって将来のキーワードとして予約されていますが、Mozilla やほとんどの他のブラウザが非標準の拡張として実装していることに注意してください。さらに、 export と import はかつて Mozilla で実装されていましたが、現在では予約語となっています。
加えて、 null
、 true
、 false
リテラルは ECMAScript の仕様で予約されています。
実際に、予約語は識別子のみに適用されます。es5.github.com/#A.1 の記述にあるように、これらは全て予約語を排除しない識別名です。
a.import
a["import"]
a = { import: "test" }
.
反対に、以下は識別子であるので違反です。識別子は関数宣言や関数式に使用されます。
function import() {}