We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

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

Синтаксис

new ReferenceError([message[, fileName[, lineNumber]]])

Параметры

message
Необязательный параметр. Человеко-читаемое описание ошибки
fileName
Необязательный параметр. Имя файла, содержащего код, вызвавший исключение
lineNumber
Необязательный параметр. Номер строки кода, вызвавшей исключение

Описание

Исключение ReferenceError выбрасывается при попытке обратиться к переменной, которая не была объявлена.

Свойства

ReferenceError.prototype
Позволяет добавлять свойства в объект ReferenceError.

Методы

Глобальный объект ReferenceError не содержит собственных методов, однако, он наследует некоторые методы из цепочки прототипов.

Экземпляры объекта ReferenceError

Свойства

ReferenceError.prototype.constructor
Определяет функцию, создающую прототип экземпляра.
ReferenceError.prototype.message
Сообщение ошибки. Хотя стандарт ECMA-262 определяет, что ReferenceError должен предоставлять своё собственное свойство message, в SpiderMonkey он наследует свойство Error.prototype.message.
ReferenceError.prototype.name
Название ошибки. Унаследовано от Error.
ReferenceError.prototype.fileName
Путь к файлу, в котором возникла эта ошибка. Унаследовано от Error.
ReferenceError.prototype.lineNumber
Номер строки в файле, в котором возникла эта ошибка. Унаследовано от Error.
ReferenceError.prototype.columnNumber
Номер колонки в строке, на которой возникла эта ошибка. Унаследовано от Error.
ReferenceError.prototype.stack
Стек вызовов. Унаследовано от Error.

Методы

Хотя объект прототипа ReferenceError не содержит собственных методов, экземпляры ReferenceError наследуют некоторые методы из цепочки прототипов.

Примеры

Перехват ReferenceError

try {
  var 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.fileName);                  // "Scratchpad/1"
  console.log(e.lineNumber);                // 2
  console.log(e.columnNumber);              // 6
  console.log(e.stack);                     // "@Scratchpad/2:2:7\n"
}

Выбрасывание ReferenceError

try {
  throw new ReferenceError('Привет', 'someFile.js', 10);
} catch (e) {
  console.log(e instanceof ReferenceError); // true
  console.log(e.message);                   // "Привет"
  console.log(e.name);                      // "ReferenceError"
  console.log(e.fileName);                  // "someFile.js"
  console.log(e.lineNumber);                // 10
  console.log(e.columnNumber);              // 0
  console.log(e.stack);                     // "@Scratchpad/2:2:9\n"
}

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

Спецификация Статус Комментарии
ECMAScript 3rd Edition (ECMA-262) Стандарт Изначальное определение.
ECMAScript 5.1 (ECMA-262)
Определение 'ReferenceError' в этой спецификации.
Стандарт  
ECMAScript 2015 (6th Edition, ECMA-262)
Определение 'ReferenceError' в этой спецификации.
Стандарт  
ECMAScript Latest Draft (ECMA-262)
Определение 'ReferenceError' в этой спецификации.
Черновик  

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

ВозможностьChromeEdgeFirefoxInternet ExplorerOperaSafari
Базовая поддержка Да Да1 Да Да Да
ВозможностьAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Базовая поддержка Да Да Да4 Да Да Да

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

Метки документа и участники

Внесли вклад в эту страницу: dima74, Mingun
Обновлялась последний раз: dima74,