SyntaxError

SyntaxError 对象表示尝试解释语法无效的代码时出现错误。当 JavaScript 引擎在解析代码时遇到不符合语言语法的 token 或 token 顺序时抛出。

¥The SyntaxError object represents an error when trying to interpret syntactically invalid code. It is thrown when the JavaScript engine encounters tokens or token order that does not conform to the syntax of the language when parsing code.

SyntaxErrorserializable object,因此可以使用 structuredClone() 进行克隆,或者使用 postMessage()工人 之间进行复制。

¥SyntaxError is a serializable object, so it can be cloned with structuredClone() or copied between Workers using postMessage().

SyntaxErrorError 的子类。

¥SyntaxError is a subclass of Error.

构造函数

¥Constructor

SyntaxError()

创建一个新的 SyntaxError 对象。

实例属性

¥Instance properties

还从其父级 Error 继承实例属性。

¥Also inherits instance properties from its parent Error.

这些属性在 SyntaxError.prototype 上定义并由所有 SyntaxError 实例共享。

¥These properties are defined on SyntaxError.prototype and shared by all SyntaxError instances.

SyntaxError.prototype.constructor

创建实例对象的构造函数。对于 SyntaxError 实例,初始值为 SyntaxError 构造函数。

SyntaxError.prototype.name

表示错误类型的名称。对于 SyntaxError.prototype.name,初始值为 "SyntaxError"

实例方法

¥Instance methods

从其父级 Error 继承实例方法。

¥Inherits instance methods from its parent Error.

示例

¥Examples

捕获语法错误

¥Catching a 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
}

创建语法错误

¥Creating a 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
}

规范

Specification
ECMAScript Language Specification
# sec-native-error-types-used-in-this-standard-syntaxerror

¥Specifications

浏览器兼容性

BCD tables only load in the browser

¥Browser compatibility

也可以看看

¥See also