TypeError — javascript | ВебДоки

Об'єкт 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 Ні

footnote

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 Ні

footnote

Opera Android Full support 55 Safari on iOS No support Ні Samsung Internet Full support 12.0 Deno No support Ні Node.js No support Ні

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