Объект 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' в этой спецификации.
Черновик  

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

Update compatibility data on GitHub
КомпьютерыМобильныеServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome для AndroidEdge MobileFirefox для AndroidOpera для AndroidiOS SafariSamsung InternetNode.js
Базовая поддержкаChrome Полная поддержка ДаEdge Полная поддержка ДаFirefox Полная поддержка 1IE Полная поддержка ДаOpera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка ДаChrome Android Полная поддержка ДаEdge Mobile Полная поддержка ДаFirefox Android Полная поддержка 4Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android Полная поддержка Даnodejs Полная поддержка Да

Легенда

Полная поддержка  
Полная поддержка

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

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

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