Spec-Zone.ru › JavaScript

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
Нет
?
Нет
Нет

См. также

  • Error

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API