ReferenceError

Сводка

Объект 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" - undefinedVariable не определена
  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 3-е издание. Стандарт Изначальное определение.
ECMAScript 5.1 (ECMA-262)
Определение 'ReferenceError' в этой спецификации.
Стандарт  
ECMAScript 6 (ECMA-262)
Определение 'ReferenceError' в этой спецификации.
Кандидат в рекомендации  

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

Возможность Chrome Firefox (Gecko) Internet Explorer Opera Safari
Базовая поддержка (Да) (Да) (Да) (Да) (Да)
Возможность Android Chrome для Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базовая поддержка (Да) (Да) (Да) (Да) (Да) (Да)

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

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

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