Spec-Zone.ru › JavaScript

ReferenceError

Базовый уровень Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.

Объект ReferenceError представляет ошибку, возникающую при обращении к переменной, которая не существует (или еще не была инициализирована) в текущей области видимости.

ReferenceError является сериализуемым объектом, поэтому его можно клонировать с помощью structuredClone() или копировать между воркерами с помощью postMessage().

ReferenceError является подклассом Error.

Конструктор

ReferenceError()
Создает новый объект ReferenceError.

Свойства экземпляра

Также наследует свойства экземпляра от своего родителя Error.

Эти свойства определены на ReferenceError.prototype и являются общими для всех экземпляров ReferenceError.

ReferenceError.prototype.constructor
Функция-конструктор, создавшая объект-экземпляр. Для экземпляров ReferenceError начальным значением является конструктор ReferenceError.
ReferenceError.prototype.name
Представляет имя типа ошибки. Для ReferenceError.prototype.name начальное значение — "ReferenceError".

Методы экземпляра

Наследует методы экземпляра от своего родителя Error.

Примеры

Перехват ReferenceError

try {
  let a = undefinedVariable;
} catch (e) {
  console.log(e instanceof ReferenceError); // true
  console.log(e.message); // "undefinedVariable is not defined"
  console.log(e.name); // "ReferenceError"
  console.log(e.stack); // Stack of the error
}

Создание ReferenceError

try {
  throw new ReferenceError("Hello");
} catch (e) {
  console.log(e instanceof ReferenceError); // true
  console.log(e.message); // "Hello"
  console.log(e.name); // "ReferenceError"
  console.log(e.stack); // Stack of the error
}

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

Спецификация
ECMAScript® 2027 Language Specification
# sec-native-error-types-used-in-this-standard-referenceerror

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

Десктопные Мобильные Серверные
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
ReferenceError
1
12
1
5
1
18
4
10.1
1
1.0
4.4
1
1.0.0
1.0
0.10.0
ReferenceError
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.postMessage() и structuredClone()).
64
Нет
77
103Сериализуемые свойства версии 103: name, message, cause, fileName, lineNumber и columnNumber.
Версия 104 также сериализует stack в основном потоке (window.postMessage() и structuredClone()).
Версия 110 также сериализует stack в воркерах (worker.postMessage() и structuredClone()).
55
Нет
12.0
77
Нет
?
Нет
Нет

См. также

  • 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/ReferenceError

Spec-Zone.ru

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