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, the TypeScript ecosystem is now very mature. Many development tools ( IDEs for example) integrate extensions for the development of TypeScript applications, and will therefore offer a more advanced experience to developers (visual alerts in the code at invalid places, faster typing through data inference). The growing community also allows to bring permanent help to the problems that developers, beginners 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 aiming at typing 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 mostly for the developer.
TypeScript is also very useful and efficient when it comes to code refactoring or factoring. If a code module changes its behavior, the development team will be automatically alerted, wherever this 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 earlier, the fact that the code is more readable and easier to understand makes it easy to onboard new developers to a project, and reduces the cost of entry (which can be quite colossal 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.