Хотелось бы дополнить,выступления, касаемые проблем TypeScript. Первая серьезная проблема TS c моей точки зрения - это даже не его собственная проблема: большинство JS-модулей и фреймворков не имеют нормальной документации по использованию TypeScript, хотя она, вероятно, будет отлично работать после установки правильного пакета
@types. Конечно, иногда документации API достаточно, но бывает, что, может понадобится дополнительная информация о типах, декораторах и интерфейсах модуля. Другая проблема, которая может возникнуть, как вы могли заметить выше, заключается в том, что иногда пакет фреймворка
@types не работает должным образом. В TS, когда это происходит, у вас есть возможность преобразовать переменные в любой тип, что в значительной степени является отличительным знаком TS. Но это далеко не лучший обходной путь, поскольку основная причина использования TS заключается в использовании правильных типов, чтобы вы могли точно предсказать, что метод должен получать и возвращать. Однако тип anyvaue утверждает, что в переменную может прилитеть что угодно: (<anyvalue>ExternalModule).method()