TypeError

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

* Some parts of this feature may have varying levels of support.

Объект 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

js
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

js
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); // Стек ошибок
}

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

Specification
ECMAScript® 2025 Language Specification
# sec-native-error-types-used-in-this-standard-typeerror

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

BCD tables only load in the browser

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