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 |
Нет |
? |
Нет |
Нет |
См. также
© 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