SyntaxError オブジェクトは、構文的に不正なコードを解釈しようとした場合のエラーを表します。これは、 JavaScript エンジンが、コードを解析中に言語の構文に従わないトークンまたはトークンの順序に遭遇した場合に発生します。
コンストラクター
SyntaxError()- 新しい
SyntaxErrorオブジェクトを生成します。
インスタンスプロパティ
SyntaxError.prototype.message- エラーメッセージです。 ECMA-262 において
SyntaxErrorは自身のmessageプロパティを提供するべきとされていますが、 SpiderMonkey ではError.prototype.messageを継承しています。 SyntaxError.prototype.name- エラー名です。
Errorから継承しています。 SyntaxError.prototype.fileName- このエラーが発生したファイルのパスです。
Errorから継承しています。 SyntaxError.prototype.lineNumber- このエラーが発生したファイル内の行番号です。
Errorから継承しています。 SyntaxError.prototype.columnNumber- このエラーが発生した行内の桁数です。
Errorから継承しています。 SyntaxError.prototype.stack- スタックトレースです。
Errorから継承しています。
例
SyntaxError のキャッチ
try {
eval('hoo bar');
} catch (e) {
console.error(e instanceof SyntaxError);
console.error(e.message);
console.error(e.name);
console.error(e.fileName);
console.error(e.lineNumber);
console.error(e.columnNumber);
console.error(e.stack);
}
SyntaxError の生成
try {
throw new SyntaxError('Hello', 'someFile.js', 10);
} catch (e) {
console.error(e instanceof SyntaxError); // true
console.error(e.message); // Hello
console.error(e.name); // SyntaxError
console.error(e.fileName); // someFile.js
console.error(e.lineNumber); // 10
console.error(e.columnNumber); // 0
console.error(e.stack); // @debugger eval code:3:9
}
仕様書
| 仕様書 |
|---|
| ECMAScript (ECMA-262) SyntaxError の定義 |
ブラウザーの互換性
このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 https://github.com/mdn/browser-compat-data をチェックアウトしてプルリクエストを送信してください。
Update compatibility data on GitHub
| デスクトップ | モバイル | サーバー | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SyntaxError | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 5.5 | Opera 完全対応 5 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
SyntaxError() constructor | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 5.5 | Opera 完全対応 5 | Safari 完全対応 1 | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 10.1 | Safari iOS 完全対応 1 | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 0.1.100 |
凡例
- 完全対応
- 完全対応