Тс полезный, но у него есть проблемы.
Одна из них (на мой взгляд, основная) — это не только несовместимость с жс, а совсем другая штука.
Он может создать ощущение защищённости там, где её нет.
Проверки типов статические и отваливаются в рантайме.
В рантайме примерно везде проверок никаких нет.
То есть условному Васе в функцию, где он написал, что параметры — стринг, и не сделал рантайм-проверку, может в рантайме прилететь из пользовательских данных очень даже не стринг.
И сожрать хомячка.
А, ну и баги в самом тсе тоже иногда доставляют.