TypeError

Объект TypeError представляет ошибку, возникающую, когда операцию невозможно выполнить, обычно (но не обязательно), когда значение не относится к ожидаемому типу.

TypeError может возникнуть в следующих случаях:

  • операнд или аргумент, переданный в функцию несовместим с типом, который ожидает оператор или функция;
  • при попытке изменить значение, которое не может быть изменено;
  • при попытке использовать значение неподходящим способом.

TypeError является сериализуемым объектом (en-US), поэтому он может быть клонирован с помощью structuredClone() (en-US) или передан между воркерами с использованием postMessage().

TypeError является подклассом Error.

Конструктор

TypeError() (en-US)

Создаёт новый объект TypeError.

Свойства экземпляра

Также наследует свойства своего родителя Error.

Эти свойства определены в TypeError.prototype и есть у всех экземпляров TypeError.

TypeError.prototype.constructor

Функция-конструктор, создающая экземпляр объекта. Для экземпляров TypeError начальным значением является конструктор TypeError (en-US).

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 Language Specification
# sec-native-error-types-used-in-this-standard-typeerror

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

BCD tables only load in the browser

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