SyntaxError
Базовый уровень Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
Объект 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
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
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® 2027 Language Specification # sec-native-error-types-used-in-this-standard-syntaxerror |
Совместимость с браузерами
| Десктопные | Мобильные | Серверные | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
SyntaxError |
1 |
12 |
1 |
5 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
SyntaxError |
1 |
12 |
1 |
5 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
serializable_object |
77 |
79 |
103Сериализуемые свойства в версии 103:name, message, cause, fileName, lineNumber и columnNumber.Версия 104 также сериализует stack в основном потоке (window.postMessage() и structuredClone()).Версия 110 также сериализует stack в worker'ах (worker.postMessage() и structuredClone()). |
64 |
No |
77 |
103Сериализуемые свойства в версии 103:name, message, cause, fileName, lineNumber и columnNumber.Версия 104 также сериализует stack в основном потоке (window.postMessage() и structuredClone()).Версия 110 также сериализует stack в worker'ах (worker.postMessage() и structuredClone()). |
55 |
No |
12.0 |
77 |
No |
? |
No |
No |
Смотрите также
© 2005–2025 MDN 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