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

View in English Always switch to English

SyntaxError

Baseline 広く利用可能 *

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。

* この機能の一部は、対応レベルが異なる場合があります。

SyntaxError オブジェクトは、構文的に不正なコードを解釈しようとした場合のエラーを表します。これは、 JavaScript エンジンがコード解析中に、言語の構文に従わないトークンまたはトークンの順序に遭遇した場合に発生します。

SyntaxErrorシリアライズ可能オブジェクトであるため、structuredClone() で複製したり、ワーカー間で postMessage() を使用してコピーしたりすることができます。

SyntaxErrorError のサブクラスです。

コンストラクター

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

ブラウザーの互換性

関連情報