JavaScript/SyntaxError
表示
SyntaxError
は、JavaScriptの構文に違反するコードを評価しようとした際に発生するエラーオブジェクトです。このエラーは、コードが JavaScript の言語構文規則に従っていない場合に投げられます[1]。
構文
[編集]newSyntaxError()newSyntaxError(message)newSyntaxError(message,options)
message
: エラーの説明を示す文字列。省略可能。options
: エラーに関する追加情報を含むオブジェクト。cause
プロパティを含めることができます。省略可能。
例
[編集]不正な構文によるSyntaxErrorの発生
[編集]以下のプログラムは、不正な JavaScript 構文により SyntaxError
が発生する例を示しています。
try{eval("if (true) {");// 閉じ括弧がない不完全な構文}catch(e){console.log(einstanceofSyntaxError);// trueconsole.log(e.message);// "Unexpected end of input"}
このプログラムでは、eval()
関数で不完全な構文を評価しようとしているため、SyntaxError
が発生します。
JSON解析エラーによるSyntaxErrorの発生
[編集]以下のプログラムは、不正なJSON文字列を解析しようとした際に SyntaxError
が発生する例を示しています。
try{JSON.parse("{ name: 'John' }");// 有効なJSONではない(キーが引用符で囲まれていない)}catch(e){console.log(einstanceofSyntaxError);// trueconsole.log(e.message);// "Unexpected token n in JSON at position 2"}
このプログラムでは、JSON.parse()
メソッドで不正なJSON文字列を解析しようとしているため、SyntaxError
が発生します。JSONでは、キーは必ず二重引用符で囲む必要があります。
注意点
[編集]- コンパイルタイムエラー:
SyntaxError
は通常、コードの実行前(コンパイル時)に発生します。 - 修正方法: 発生したエラーメッセージを確認し、対応する構文の問題を修正する必要があります。
- 継承:
SyntaxError
はError
オブジェクトを継承しているため、すべてのError
プロパティとメソッドを持っています。
脚註
[編集]- ^これは、コードの構文解析中に問題が発見されたことを示すために使用されます。