语法错误

SyntaxError 对象表示在尝试解释语法无效的代码时发生的错误。 当 JavaScript 引擎在解析代码时遇到不符合语言语法的标记或标记顺序时,就会抛出它。

SyntaxError 是一个 可序列化对象,因此可以使用 structuredClone() 克隆它,或者使用 WorkerpostMessage() 在它们之间复制它。

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 语言规范
# sec-native-error-types-used-in-this-standard-syntaxerror

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅