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); // Стек помилки
}

Специфікації

Сумісність із браузерами

desktop mobile server
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet Deno Node.js
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 No
footnote
Internet Explorer No support No
Opera Full support 64
Safari No support No
WebView Android Full support 77
Chrome Android Full support 77
Firefox for Android No support No
footnote
Opera Android Full support 55
Safari on iOS No support No
Samsung Internet Full support 12.0
Deno No support No
Node.js No support No

Дивіться також