语法错误
SyntaxError
对象表示在尝试解释语法无效的代码时发生的错误。 当 JavaScript 引擎在解析代码时遇到不符合语言语法的标记或标记顺序时,就会抛出它。
SyntaxError
是一个 可序列化对象,因此可以使用 structuredClone()
克隆它,或者使用 Worker 的 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 语言规范 # sec-native-error-types-used-in-this-standard-syntaxerror |
浏览器兼容性
BCD 表格仅在浏览器中加载