Все истории

🚨 any: самый опасный способ сказать «я сдаюсь»

Копия публикации из архива канала. Дата и текст сохранены.

Есть в TypeScript одно слово, которое выглядит очень заманчиво.
any. 😌

Компилятор ругается? Типы не сходятся? Ничего не работает?
Пишешь:
let data: any;
И... ошибки исчезают. 🎉

Кажется, победа.
Но на самом деле в этот момент ты просто сказал TypeScript:
«Не проверяй меня. Я сам как-нибудь разберусь.» 😅

Именно поэтому многие разработчики называют any самым опасным типом.
❌ TypeScript перестаёт помогать.
❌ Автодополнение становится бесполезным.
❌ Ошибки, которые можно было поймать ещё во время разработки, внезапно прилетают уже в проде.

Получается забавная ситуация:
Ты вроде бы используешь TypeScript... но добровольно отключил его главную суперсилу. 🤷‍♂️

Конечно, бывают случаи, когда any действительно нужен. Например, при работе со старым кодом или сторонними библиотеками.
Но если каждую ошибку лечить через any, это уже не решение проблемы.
Это как заклеить лампочку Check Engine изолентой, чтобы она перестала гореть. Машина лучше ездить не станет. 🚗💥

💡 Вместо any чаще стоит использовать:
unknown — если тип действительно неизвестен;
собственные интерфейсы и типы;
дженерики, если данные могут быть разными.

TypeScript создавали не для того, чтобы усложнить жизнь разработчику.
Его создали для того, чтобы ловить ошибки до того, как их поймают пользователи. 😉

💬 А вы пользовались any просто для того, чтобы "быстренько починить ошибку"? Или принципиально стараетесь обходиться без него?