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.
Объект 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 Language Specification # sec-native-error-types-used-in-this-standard-typeerror |
Совместимость с браузерами
BCD tables only load in the browser