Spec-Zone.ru › JavaScript

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

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

  • Error

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API