The problem is refactoring. Want to rename a method? If the name isn’t unique enough to search for, you can’t do it. There’s too much risk that you’ll miss things and create severe bugs. Of course, that can be solved with really thorough unit tests, to some extent. But then you’re just spending a lot of extra time writing tests for things that typescript will enforce automatically.
You also get much better autocomplete from the editor with typescript, which speeds up development a lot. You save a pretty huge amount of time if you don’t have to constantly look through documentation or even dig through a bunch of code to figure out what methods are available and how to use them.
The problem is refactoring. Want to rename a method? If the name isn’t unique enough to search for, you can’t do it. There’s too much risk that you’ll miss things and create severe bugs. Of course, that can be solved with really thorough unit tests, to some extent. But then you’re just spending a lot of extra time writing tests for things that typescript will enforce automatically.
You also get much better autocomplete from the editor with typescript, which speeds up development a lot. You save a pretty huge amount of time if you don’t have to constantly look through documentation or even dig through a bunch of code to figure out what methods are available and how to use them.