SyntaxError
Baseline
広く利用可能
*
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。
* この機能の一部は、対応レベルが異なる場合があります。
SyntaxError オブジェクトは、構文的に不正なコードを解釈しようとした場合のエラーを表します。これは、 JavaScript エンジンがコード解析中に、言語の構文に従わないトークンまたはトークンの順序に遭遇した場合に発生します。
SyntaxError はシリアライズ可能オブジェクトであるため、structuredClone() で複製したり、ワーカー間で postMessage() を使用してコピーしたりすることができます。
SyntaxError は Error のサブクラスです。
コンストラクター
SyntaxError()-
新しい
SyntaxErrorオブジェクトを生成します。
インスタンスプロパティ
親である Error から継承したプロパティもあります。
これらのプロパティは SyntaxError.prototype で定義されており、すべての SyntaxError インスタンスで共有されます。
SyntaxError.prototype.constructor-
このインスタンスオブジェクトを作成したコンストラクター関数。
SyntaxErrorインスタンスの場合、初期値はSyntaxErrorコンストラクターとなります。 SyntaxError.prototype.name-
エラーの種類の名前を表します。
SyntaxError.prototype.nameの場合、初期値は"SyntaxError"です。
インスタンスメソッド
親である Error から継承したメソッドがあります。
例
>SyntaxError の捕捉
js
try {
eval("hoo bar");
} catch (e) {
console.log(e instanceof SyntaxError); // true
console.log(e.message);
console.log(e.name); // "SyntaxError"
console.log(e.stack); // Stack of the error
}
SyntaxError の生成
js
try {
throw new SyntaxError("Hello");
} catch (e) {
console.log(e instanceof SyntaxError); // true
console.log(e.message); // "Hello"
console.log(e.name); // "SyntaxError"
console.log(e.stack); // Stack of the error
}
仕様書
| 仕様書 |
|---|
| ECMAScript® 2027 Language Specification> # sec-native-error-types-used-in-this-standard-syntaxerror> |