概要

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

説明

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

構文

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

引数

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

プロパティ

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

メソッド

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

SyntaxError インスタンス

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

 

プロパティ

 

 

メソッド

 

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"
}

仕様

仕様書 策定状況 コメント
ECMAScript 3rd Edition (ECMA-262) 標準 初期定義
ECMAScript 5.1 (ECMA-262)
SyntaxError の定義
標準  
ECMAScript 2015 (6th Edition, ECMA-262)
SyntaxError の定義
標準  
ECMAScript Latest Draft (ECMA-262)
SyntaxError の定義
ドラフト  

ブラウザー実装状況

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOS 版 SafariSamsung InternetNode.js
基本対応Chrome 完全対応 ありEdge 完全対応 ありFirefox 完全対応 1IE 完全対応 ありOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 ありnodejs 完全対応 あり

凡例

完全対応  
完全対応

関連項目

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

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