ReferenceError
BaselineWidely 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.
ОбъектReferenceError
представляет ошибку, возникающую при обращении к переменной, которая не существует (или не была инициализирована) в текущей области видимости.
ReferenceError
являетсясериализуемым объектом, поэтому он может быть клонирован с помощьюstructuredClone()
или передан междуворкерами с использованиемpostMessage()
.
RangeReferenceErrorError
является подклассом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); // Стек ошибок}
СозданиеReferenceError
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® 2026 Language Specification # sec-native-error-types-used-in-this-standard-referenceerror |