SyntaxError

Baseline 廣泛可用 *

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

* 此特性的某些部分可能存在不同級別的支援。

SyntaxError 物件表示解釋語法無效程式碼時發生的錯誤。當 JavaScript 引擎在解析程式碼時遇到不符合該語言語法的標記或標記順序時,會丟擲此錯誤。

SyntaxError 是一個可序列化物件,因此可以使用 structuredClone() 克隆,或者使用 postMessage()Worker 之間進行復制。

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® 2026 語言規範
# sec-native-error-types-used-in-this-standard-syntaxerror

瀏覽器相容性

另見