このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

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

ブラウザーの互換性

関連情報