TypeError
Ошибка «значение не того типа» — например, вызов метода у undefined.
Доступно с: ES3
Синтаксис
new TypeError(message)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| message | string | Необязательный. Описание ошибки. |
Возвращаемое значение
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 и встроенные типы ошибок.