This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

TypeError

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨июль 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® 2026 Language Specification>
# sec-native-error-types-used-in-this-standard-typeerror>

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

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