The SyntaxError
object represents an error when trying to interpret syntactically invalid code.
A SyntaxError
is thrown when the JavaScript engine encounters tokens or token order that does not conform to the syntax of the language when parsing code.
new SyntaxError([message[, fileName[, lineNumber]]])
message
fileName
lineNumber
SyntaxError.prototype
SyntaxError
object.The global SyntaxError
contains no methods of its own, however, it does inherit some methods through the prototype chain.
SyntaxError
instancesSyntaxError.prototype.constructor
SyntaxError.prototype.message
SyntaxError
should provide its own message
property, in SpiderMonkey, it inherits Error.prototype.message
.SyntaxError.prototype.name
Error
.SyntaxError.prototype.fileName
Error
.SyntaxError.prototype.lineNumber
Error
.SyntaxError.prototype.columnNumber
Error
.SyntaxError.prototype.stack
Error
.Although the SyntaxError
prototype object does not contain any methods of its own, SyntaxError
instances do inherit some methods through the prototype chain.
SyntaxError
try { eval('hoo bar'); } catch (e) { console.log(e instanceof SyntaxError); // true console.log(e.message); // "missing ; before statement" console.log(e.name); // "SyntaxError" console.log(e.fileName); // "Scratchpad/1" console.log(e.lineNumber); // 1 console.log(e.columnNumber); // 4 console.log(e.stack); // "@Scratchpad/1:2:3\n" }
SyntaxError
try { throw new SyntaxError('Hello', 'someFile.js', 10); } catch (e) { console.log(e instanceof SyntaxError); // true console.log(e.message); // "Hello" console.log(e.name); // "SyntaxError" console.log(e.fileName); // "someFile.js" console.log(e.lineNumber); // 10 console.log(e.columnNumber); // 0 console.log(e.stack); // "@Scratchpad/2:11:9\n" }
Specification | Status | Comment |
---|---|---|
ECMAScript 3rd Edition (ECMA-262) | Standard | Initial definition. |
ECMAScript 5.1 (ECMA-262) The definition of 'SyntaxError' in that specification. | Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'SyntaxError' in that specification. | Standard | |
ECMAScript 2017 Draft (ECMA-262) The definition of 'SyntaxError' in that specification. | Draft |
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
© 2005–2017 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError