TypeScript is an open source programming language that was developed by Microsoft as a superset of JavaScript. This means that all JavaScript files are valid TypeScript files and that TypeScript can be trans-compiled as a JavaScript output. Essentially, TypeScript is JavaScript with the added ability to use static types when needed.
TypeScript was developed in 2012 to address some of the functional challenges of programming with JavaScript, namely that its dynamic type can create frustrating bugs that are time-consuming to fix. Dynamic typing is the opposite of static typing, which requires all variables (numbers, strings, boolean expressions, etc.) to be identifiable by the compiler. This requirement creates documentation in real-time, meaning error-checking happens as new code is written.
TypeScript introduced the option to use static typing, which enables programmers to write code that is cleaner and easier to scale without needing to learn a whole new language. As such, TypeScript is suitable for front end development projects just like JavaScript, but the optional static typing makes it ideal for complex server-side development. However, TypeScript requires more time and attention to detail, so it’s less favorable for smaller projects that would be faster to complete without the extra step of trans-compiling.
Microsoft developers created TypeScript because they wanted a programming language they could use to develop large applications without affecting their existing system’s compatibility with JavaScript. The tight-knit relationship between the two languages means programmers do not need to use an all-or-nothing approach when looking to implement TypeScript if they’re already using JavaScript. With TypeScript, it’s easy to start small and grow as needed, which is why it’s among the top programming languages in use today.