Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник JavaScript

TypeError

Ошибка «значение не того типа» — например, вызов метода у undefined.

Доступно с: ES3

Синтаксис

new TypeError(message)

Параметры

ПараметрТипОписание
messagestringНеобязательный. Описание ошибки.

Возвращаемое значение

TypeErrorОбъект ошибки.

Примеры

Самая частая ошибка — обращение к свойству undefined:

const user = undefined;
 
try {
  console.log(user.name);
} catch (error) {
  console.log(error.name);
}

Результат:

TypeError

Свой TypeError для проверки аргументов:

function double(n) {
  if (typeof n !== 'number') {
    throw new TypeError(`Expected a number, got ${typeof n}`);
  }
  return n * 2;
}
 
try {
  double('5');
} catch (error) {
  console.log(String(error));
}

Результат:

TypeError: Expected a number, got string

Примечания

Чаще всего TypeError возникает из-за undefined или null там, где ждали объект. Защититься помогает оператор ?.: user?.name.

См. также

  • Error — Базовый класс ошибок: создаётся и выбрасывается через throw.
  • ReferenceError — Ошибка «переменная не существует».
  • Optional chaining (?.) — Безопасное обращение к свойству: вернёт undefined вместо ошибки, если объекта нет.

В учебнике

  • Ошибки и try...catch — Обработка ошибок в JavaScript: блоки try, catch и finally, объект ошибки, оператор throw и встроенные типы ошибок.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.