Вопрос проверяет понимание системы типов TypeScript и её отличий от JavaScript в контексте обработки ошибок.
TypeScript является строгим надмножеством JavaScript, что означает, что любой корректный JavaScript-код также является корректным TypeScript-кодом. В JavaScript оператор throw может использоваться с любым значением: строками, числами, объектами, функциями и т.д. TypeScript сохраняет эту гибкость, чтобы не нарушать совместимость с существующим кодом.
throw 'Ошибка'; // строка
throw 42; // число
throw { message: 'Ошибка' }; // объект
throw new Error('Ошибка'); // экземпляр ErrorХотя TypeScript позволяет выбрасывать любые значения, это может усложнить обработку ошибок. При использовании catch блоков тип перехваченного значения по умолчанию — unknown (начиная с TypeScript 4.0), что требует дополнительной проверки типа перед использованием. Если выбрасывать только экземпляры Error, то можно безопасно обращаться к свойствам message и stack.
Error или его подклассов.TypeScript сохраняет возможность выбрасывать любые типы для совместимости с JavaScript, но на практике рекомендуется использовать только экземпляры Error для обеспечения предсказуемой обработки ошибок и лучшей отладки.
Уровень
Рейтинг:
3
Сложность:
3
Навыки
JavaScript
TypeScript
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию