概要

構文的に不正なコードを解釈しようとした場合のエラーを表します。

説明

SyntaxError は、JavaScript エンジンが、コードをパース中に言語の構文に従わないトークン又はトークン順序に遭遇した場合に投げられます。

構文

new SyntaxError([message[, fileName[, lineNumber]]])

引数

message
人間に読めるエラーの説明
fileName
例外を引き起こしたコードを含むファイル名
lineNumber
例外を引き起こしたコードの行番号

プロパティ

prototype
SyntaxError オブジェクトにプロパティを追加することができます。

メソッド

グローバルな SyntaxError オブジェクトは、自分自身のメソッドを持っていませんが、プロトタイプチェーンを通していくつかのメソッドを継承しています。

SyntaxError インスタンス

全ての SyntaxError インスタンスは SyntaxError.prototype を継承します。全てのインスタンスにプロパティやメソッドを追加するために、このプロトタイプを利用できます。

プロパティ

constructor
インスタンスのプロパティを生成した関数を示します。
name
エラー名。
註: ECMA-262SyntaxError 自身が message プロパティを提供するべきであると規定してるにもかかわらず、 SpiderMonkey では Error.prototype.message を継承します。

Error.prototype から継承されるProperties

メソッド

SyntaxError プロトタイプオブジェクトが自身のメソッドを何も持っていなくても、 SyntaxError インスタンスはプロトタイプチェーンを通していくつかのメソッドを継承しています。

Error.prototype から継承されるMethods

SyntaxErrorのキャッチ

try {
  eval('hoo bar');
} catch (e) {
  console.log(e instanceof SyntaxError); // true
  console.log(e.message);                // "missing ; before statement"
  console.log(e.name);                   // "SyntaxError"
  console.log(e.fileName);               // "Scratchpad/1"
  console.log(e.lineNumber);             // 1
  console.log(e.columnNumber);           // 4
  console.log(e.stack);                  // "@Scratchpad/1:2:3\n"
}

SyntaxErrorの作成

try {
  throw new SyntaxError('Hello', 'someFile.js', 10);
} catch (e) {
  console.log(e instanceof SyntaxError); // true
  console.log(e.message);                // "Hello"
  console.log(e.name);                   // "SyntaxError"
  console.log(e.fileName);               // "someFile.js"
  console.log(e.lineNumber);             // 10
  console.log(e.columnNumber);           // 0
  console.log(e.stack);                  // "@Scratchpad/2:11:9\n"
}

仕様

Specification Status Comment
ECMAScript 3rd Edition (ECMA-262) Standard Initial definition.
ECMAScript 5.1 (ECMA-262)
The definition of 'SyntaxError' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'SyntaxError' in that specification.
Standard  

ブラウザ互換性

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (有) (有) (有) (有) (有)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (有) (有) (有) (有) (有) (有)
 

 

関連項目

ドキュメントのタグと貢献者

 このページの貢献者: lv7777, teoli, ethertank, Potappo, Hfjapancom
 最終更新者: lv7777,