How would you define TypeScript?
The TypeScript language answers two problems that any team wishing to maintain a program faces, by adding new functionalities :
- How can I ensure that the data passing through my app is predictable?
- How can I be sure that my implementation evolves along with my data?
Finally, TypeScript's ecosystem is now very mature. Many development tools ( IDEs for example) integrate extensions for developing TypeScript applications, and will therefore offer a more advanced experience to developers (visual alerts in the code at invalid places, faster typing thanks to data inference). The growing community also provides ongoing support for problems that developers, novice or not, may face. External libraries are increasingly written in TypeScript, which allows them to be easily integrated into applications, keeping end-to-end typing (Typescript also supports `DefinitelyTyped`, which is an open-source project to type untyped libraries).
What are the benefits for start-ups to privilege TypeScript rather than JavaSript in their projects?
The advantage of TypeScript, as mentioned above, is therefore mostly for the developer.
TypeScript also proves to be very useful and powerful when it comes to code refactoring or refactoring. If a code module changes its behavior, the development team will be automatically alerted, wherever that module is used and implemented. The team will therefore be more serene and secure in the redesign, thus improving the maintainability of a project over time.
As mentioned above, the fact that the code is more readable and easier to understand makes it easy to board new developers to a project, and reduces the cost of entry (which can be quite huge on large-scale projects).
The advantage for a start-up will also be to be able to attract more experienced and rigorous developers within their company, and thus increase the quality of the applications produced and internal projects.