any - это ложь, которую вы говорите сами себе Давайте честно: когда у вас горят дедлайны, а TypeScript ругается на несовпадение типов, рука сама тянет…
Давайте честно: когда у вас горят дедлайны, а TypeScript ругается на несовпадение типов, рука сама тянется написать : any.
«Я потом поправлю», - говорите вы.
Спойлер: не поправите.
Использование any превращает ваш строгий TypeScript проект обратно в анархичный JavaScript, но с лишним этапом сборки. Вы просто отключаете компилятор.
🔥 Почему это плохо:
Вы теряете автокомплит, рефакторинг становится русской рулеткой, а баг undefined is not a function вернется к вам в самый неподходящий момент.
🛡 Что делать вместо any?
1. Если вы реально не знаете, что прилетит:
Используйте unknown. Это безопасный аналог any. Он скажет: "Я не знаю, что это, но я не дам тебе с этим работать, пока ты не проверишь тип".
// ❌ Плохо
const processData = (data: any) => {
data.toUpperCase(); // Может упасть, если data — число
}
// ✅ Хорошо
const processData = (data: unknown) => {
if (typeof data === 'string') {
data.toUpperCase(); // TS теперь знает, что это строка
}
}
2. Если лень описывать огромный ответ бэкенда:
Используйте утилиты для генерации типов из Swagger/OpenAPI. Не пишите интерфейсы руками, мы же не в каменном веке.
Уважайте свои нервы. Типизируйте нормально.
#typescript #cleancode #safety
👉 @frontend_1