ReferenceError

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

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

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

Конструктор

ReferenceError() (en-US)

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

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

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

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

ReferenceError.prototype.constructor

Функция-конструктор, создающая экземпляр объекта. Для экземпляров ReferenceError начальным значением является конструктор ReferenceError (en-US).

ReferenceError.prototype.name

Представляет название типа ошибки. Начальным значением ReferenceError.prototype.name является "ReferenceError".

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

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

Примеры

Перехват ReferenceError

js
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); // Стек ошибок
}

Создание ReferenceError

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

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

Specification
ECMAScript Language Specification
# sec-native-error-types-used-in-this-standard-referenceerror

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

BCD tables only load in the browser

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