So which is better? Why have static typing when speed isn’t improved? Let’s compare the two languages.
When multiple people on a software development team code their own way, that code is much harder to read and develop off of. The bigger the program the messier it becomes. That is until it’s too difficult to tell what goes where and even the people who made the code don’t remember how it works.
This is what TypeScript was designed to avoid. TypeScript offers a robust typing system, with static type checking, so variable types have to be declared. It supports classes so object-oriented programming is easier and more robust. Typescript supports type annotations, so it’s clear what type a variable is at declaration. It also has structural typing, meaning you can define a specific structure for the code (and developers) to stick to.
Despite the advantages offered by TypeScript, it comes with the downside of reduced readability for most developers. Readability is subjective, however, most programmers agree that the more cluttered code is, the less readable it is (as long as there isn’t too much boilerplate code).
TypeScript’s inclusion of a typing system means extra lines of code to maintain that typing system. It also means taking the time to declare your types when you’re declaring your variables. This means, while your code is more robust, it’s also harder to read.
Which Should I Choose?
On the same note, if you have a large team or a large and complex project, especially one that requires a lot of maintenance or addition, TypeScript might be the better choice for you.