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
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); // Стек ошибок
}
Спецификации
Specification |
---|
ECMAScript® 2025 Language Specification # sec-native-error-types-used-in-this-standard-typeerror |
Совместимость с браузерами
BCD tables only load in the browser