MDN wants to talk to developers like you: https://qsurvey.mozilla.com/s3/8d22564490d8

TypeError

Сводка

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

Синтаксис

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

Параметры

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

Описание

Исключение TypeError выбрасывается, когда операнд или аргумент, переданный в функцию, не совместим с типом, ожидаемым оператором или функцией.

Свойства

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

Методы

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

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

Свойства

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

Методы

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

Примеры

Пример: перехват исключения TypeError

try {
  null.f();
} catch (e) {
  console.log(e instanceof TypeError); // true
  console.log(e.message);              // "null has no properties" - null не имеет свойств
  console.log(e.name);                 // "TypeError"
  console.log(e.fileName);             // "Scratchpad/1"
  console.log(e.lineNumber);           // 2
  console.log(e.columnNumber);         // 2
  console.log(e.stack);                // "@Scratchpad/2:2:3\n"
}

Пример: возбуждение исключения TypeError

try {
  throw new TypeError('Привет', 'someFile.js', 10);
} catch (e) {
  console.log(e instanceof TypeError); // true
  console.log(e.message);              // "Привет"
  console.log(e.name);                 // "TypeError"
  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)
Определение 'TypeError' в этой спецификации.
Стандарт  
ECMAScript 2015 (6th Edition, ECMA-262)
Определение 'TypeError' в этой спецификации.
Стандарт  

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

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

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

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

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