TypeError
Базовый уровень Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Объект TypeError представляет собой ошибку, когда операцию не удалось выполнить, обычно (но не исключительно) когда значение имеет не ожидаемый тип.
TypeError может быть выброшено, когда:
- операнд или аргумент, переданный функции, несовместим с типом, ожидаемым этим оператором или функцией; или
- при попытке изменить значение, которое нельзя изменить; или
- при попытке использовать значение неподходящим образом.
TypeError — это сериализуемый объект, поэтому его можно клонировать с помощью structuredClone() или копировать между Workers с помощью 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); // Stack of the error
}
Создание TypeError
try {
throw new TypeError("Hello");
} catch (e) {
console.log(e instanceof TypeError); // true
console.log(e.message); // "Hello"
console.log(e.name); // "TypeError"
console.log(e.stack); // Stack of the error
}
Спецификации
| Спецификация |
|---|
| ECMAScript® 2027 Language Specification # sec-native-error-types-used-in-this-standard-typeerror |
Совместимость с браузерами
| Настольные | Мобильные | Сервер | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
TypeError |
1 |
12 |
1 |
5 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
TypeError |
1 |
12 |
1 |
5 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
serializable_object |
77 |
79 |
103Версия 103 сериализуемые свойства:name, message, cause, fileName, lineNumber и columnNumber.Версия 104 также сериализует stack в основном потоке (window.postMessage() и structuredClone()).Версия 110 также сериализует stack в воркерах (worker.postMessage() и structuredClone()). |
64 |
Нет |
77 |
103Версия 103 сериализуемые свойства:name, message, cause, fileName, lineNumber и columnNumber.Версия 104 также сериализует stack в основном потоке (window.postMessage() и structuredClone()).Версия 110 также сериализует stack в воркерах (worker.postMessage() и structuredClone()). |
55 |
Нет |
12.0 |
77 |
Нет |
? |
Нет |
Нет |
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError