Сводка
Объект 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' в этой спецификации. |
Стандарт | |
| ECMAScript (ECMA-262) Определение 'TypeError' в этой спецификации. |
Живой стандарт |
Совместимость с браузерами
Update compatibility data on GitHub
| Компьютеры | Мобильные | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TypeError | Chrome Полная поддержка 1 | Edge Полная поддержка 12 | Firefox Полная поддержка 1 | IE Полная поддержка 5.5 | Opera Полная поддержка 5 | Safari Полная поддержка 1 | WebView Android Полная поддержка 1 | Chrome Android Полная поддержка 18 | Firefox Android Полная поддержка 4 | Opera Android Полная поддержка 10.1 | Safari iOS Полная поддержка 1 | Samsung Internet Android Полная поддержка 1.0 | nodejs Полная поддержка 0.1.100 |
TypeError() constructor | Chrome Полная поддержка 1 | Edge Полная поддержка 12 | Firefox Полная поддержка 1 | IE Полная поддержка 5.5 | Opera Полная поддержка 5 | Safari Полная поддержка 1 | WebView Android Полная поддержка 1 | Chrome Android Полная поддержка 18 | Firefox Android Полная поддержка 4 | Opera Android Полная поддержка 10.1 | Safari iOS Полная поддержка 1 | Samsung Internet Android Полная поддержка 1.0 | nodejs Полная поддержка 0.1.100 |
Легенда
- Полная поддержка
- Полная поддержка