メッセージ
SyntaxError: "x" is a reserved identifier (Firefox) SyntaxError: Unexpected reserved word (Chrome)
エラータイプ
何がうまくいかなかったのか?
予約語を識別子として使用した場合、エラーをスローします。これらは strict モードと通常モードの双方で予約されています:
enum
次のものは strict モードのコードでのみ予約されています:
implements
interface
let
package
private
protected
public
static
例
Strict モードと 非 Strict モードで予約されているキーワード
enum
識別子は全般的に予約されています。
var enum = { RED: 0, GREEN: 1, BLUE: 2 };
// SyntaxError: enum is a reserved identifier
strict モードのコードでは、より多くの識別子が予約されています。
"use strict";
var package = ["potatoes", "rice", "fries"];
// SyntaxError: package is a reserved identifier
これらの変数名を変更する必要があります。
var colorEnum = { RED: 0, GREEN: 1, BLUE: 2 };
var list = ["potatoes", "rice", "fries"];
古いブラウザーを更新する
たとえば、let
や class
をまだ実装していない古いブラウザーを使用している場合、それらの新しい言語機能をサポートしているより新しいブラウザーにアップデートすべきです。
"use strict";
class DocArchiver {}
// SyntaxError: class is a reserved identifier
// (たとえば、Firefox 44 以前の古いブラウザーはエラーをスローします)