TypeError
Об'єкт TypeError
(помилка типу) представляє помилку, при якій операція не може бути виконана, здебільшого (але не винятково) через те, що значення не належить до очікуваного типу.
TypeError
може бути викинуто, коли:
- операнд або аргумент, переданий до функції, несумісний з типом, очікуваним оператором або функцією; або
- при спробі змінити значення, котре не може бути змінене; або
- при спробі використати значення у невідповідний спосіб.
TypeError
– це серіалізовний об'єкт, тож може бути клонований за допомогою structuredClone()
або скопійований між воркерами за допомогою postMessage()
.
TypeError
є підкласом Error
.
Конструктор
TypeError()
Створює новий об'єкт
TypeError
.
Властивості примірника
Також успадковує властивості примірника від свого предка – Error
.
Ці властивості означені на TypeError.prototype
і є спільними для всіх примірників TypeError
.
TypeError.prototype.constructor
Функція-конструктор, що створила об'єкт-примірник. Для примірників
TypeError
початковим значенням є конструкторTypeError
.TypeError.prototype.name
Представляє назву типу помилки. Для
TypeError.prototype.name
початковим значенням є"TypeError"
.
Методи примірника
Успадковує методи примірника від свого предка – Error
.
Приклади
Перехоплення TypeError
try {
null.f();
} catch (e) {
console.log(e instanceof TypeError); // true
console.log(e.message); // "null has no properties"
console.log(e.name); // "TypeError"
console.log(e.stack); // Стек помилки
}
Створення TypeError
try {
throw new TypeError("Привіт");
} catch (e) {
console.log(e instanceof TypeError); // true
console.log(e.message); // "Привіт"
console.log(e.name); // "TypeError"
console.log(e.stack); // Стек помилки
}
Специфікації
Специфікація |
---|
ECMAScript Language Specification (ECMAScript) # sec-native-error-types-used-in-this-standard-typeerror |
Сумісність із браузерами
desktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
TypeError
|
Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | Internet Explorer Full support 5.5 | Opera Full support 5 | Safari Full support 1 | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox for Android Full support 4 | Opera Android Full support 10.1 | Safari on iOS Full support 1 | Samsung Internet Full support 1.0 | Deno Full support 1.0 | Node.js Full support 0.10.0 |
TypeError() constructor
|
Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | Internet Explorer Full support 5.5 | Opera Full support 5 | Safari Full support 1 | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox for Android Full support 4 | Opera Android Full support 10.1 | Safari on iOS Full support 1 | Samsung Internet Full support 1.0 | Deno Full support 1.0 | Node.js Full support 0.10.0 |
TypeError is serializable
|
Chrome Full support 77 | Edge Full support 79 | Firefox No support Ні | Internet Explorer No support Ні | Opera Full support 64 | Safari No support Ні | WebView Android Full support 77 | Chrome Android Full support 77 | Firefox for Android No support Ні | Opera Android Full support 55 | Safari on iOS No support Ні | Samsung Internet Full support 12.0 | Deno No support Ні | Node.js No support Ні |