SyntaxError

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

* Some parts of this feature may have varying levels of support.

Объект SyntaxError представляет ошибку, возникающую при попытке интерпретировать синтаксически неправильный код. Это происходит, когда движок JavaScript при синтаксическом анализе кода обнаруживает токены или порядок токенов, не соответствующие синтаксису языка.

SyntaxError является сериализуемым объектом, поэтому он может быть клонирован с помощью structuredClone() или передан между воркерами с использованием 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); // Стек ошибок
}

Создание SyntaxError

js
try {
  throw new SyntaxError("Привет");
} catch (e) {
  console.log(e instanceof SyntaxError); // true
  console.log(e.message); // "Привет"
  console.log(e.name); // "SyntaxError"
  console.log(e.stack); // Стек ошибок
}

Спецификации

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

Совместимость с браузерами

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
SyntaxError
SyntaxError() constructor
SyntaxError is serializable

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
See implementation notes.

Смотрите также