JavaScript may be THE language of the Internet, but its ecosystem is overwhelming. There are just so many frameworks, libraries and stacks that you’re never going to learn all of them.

Since Microsoft released TypeScript in 2012, it took the JS world by storm. Now, over a half of JS developers already use it [1]. And this raises the question: “Should I learn it?”

The short (but hardly useful) answer is “It depends”, because you have to think about your career stage and your objectives in order to get the right answer for you. But here are some guidelines and recommendations:

If you’re planning to work in large, complex projects, learning TypeScript is a must. The addition of static typing (the stellar feature of TS) is crucial in big projects, because it catches many bugs that dynamic typing can’t prevent.

When you work on complex applications with dynamically typed languages, invalid input can generate enormous problems across the application. Finding these bugs can they can take a lot of time and they’re painfully hard to solve.

That’s why TypeScript, by far the most popular superset of JavaScript, is the preferred choice in this kind of projects.

If you’re a beginner and want to build your first personal project, you probably don’t need TypeScript now. Even though TypeScript is not that hard to learn, you’ll probably be better off learning the frameworks or libraries you need to build that project.

At this stage, learning TypeScript might be just an obstacle that will prevent you from completing your project.

If you already know some frameworks and have shipped a few projects, learning TypeScript can be a great idea. Due to its popularity and some of its features like static typing and classic OOP (Object Oriented Programming), it’s a great tool in your arsenal that will also help you become a better programmer.