Differences Between JavaScript and TypeScript

JavaScript vs. TypeScript scaled 1

IT Tips & Insights: Take a deep dive into the differences between these two languages, and when to use each, with a Softensity Site Reliability Engineer.

By Mario Leiton, Site Reliability Engineer

Let’s start by looking at what these two languages are, and how each one is applied.

Getting to Know JavaScript

JavaScript is a language that can be used to create interactive web pages. It has always been said that the basics of a web page are: HTML, which provides the content structure (the bones), CSS for all the styling (the beauty), and then JavaScript for all the functionalities (the fun stuff).

JavaScript follows a series of steps for client-side programming, so it runs in the browser without any need for a server (we also refer to it as an interpreted language). You can also use JavaScript with other technologies like XML, YAML, Azure Functions, REST API and much, much more. JavaScript is the most used language in the world.

Getting to Know TypeScript

TypeScript was released in 2012 by Microsoft with the intention of being a modern, super-charged version of JavaScript. You can do everything in TypeScript that you can in JavaScript, with a few more features and advantages. It is a statically, strongly-typed, compiled language to write clear and simple JavaScript code. 

This language can run on NodeJS or any browser that supports ECMAScript 3 or newer. It also gives you the option of using static typing, classes, and interfaces. For JavaScript projects that are more robust and complex, adopting TypeScript can bring even more security and solidness to the project, and can be easily deployable with a regular JavaScript application.

What is out there in the foreseeable future from TypeScript? 

Hundreds of thousands of software engineers are now adopting TypeScript as they see real benefits to using it — beyond the good news that if they already know JavaScript, they have very little new to learn from TypeScript. Developers are realizing they can achieve more and be cleaner coders with TypeScript. 

TypeScript is also consistently ranked among the top 10 most popular programming languages. It is also worth mentioning that TypeScript is used alongside JavaScript, however it has achieved great success when used by itself. It has also been used more and more for commercial and enterprise projects, and the support from Microsoft is excellent.

Will TypeScript replace our beloved friend JavaScript? 

I don’t think so, since TypeScript is meant to work with JavaScript, we are seeing these two languages as complements to each other. It is expected that TypeScript will keep growing in popularity for the foreseeable future as it offers many benefits to developers. It doesn’t have a lot of competition and offers a beautiful web development experience. It is also expected that TypeScript will enjoy high adoption rates among new open-source projects.

Microsoft communicated that this programming language has surpassed their expectations as it has consistently ranked among the most loved languages. We can blame this success to the efforts of the community through the years (ten years and still kicking). Members of the community have been involved in writing tutorials and courses for the language, and they also helped with the issue tracker and Stack Overflow.

Even though many developers were skeptical about the use of static types in JS, TypeScript has been able to demonstrate its usefulness over time. At the beginning, this language was meant to build on JavaScript. Therefore, the team has avoided adding new runtime syntax and behaviors.

Main Differences Between the Two Languages

  • JavaScript is a scripting language that lets you create interactive websites, whereas TypeScript is a superset of JavaScript (it has all the features from JavaScript’s newer versions and some legacy versions, plus some extra features).
  • TypeScript code is compiled, JavaScript’s is not.
  • TypeScript supports a feature of prototyping while JavaScript doesn’t.
  • TypeScript uses concepts like types and interfaces to describe data being used, whereas JavaScript doesn’t.
  • TypeScript is a powerful type of system, including generics & JS features for large size projects whereas JavaScript is an ideal option for smaller projects.

When should you use each language?

JavaScript:

  • Open-source project friendly
  • Specially designed for small scripts
  • Supports classes, interfaces and modules
  • JavaScript runs in any browser
  • You can extend JavaScript for writing large apps
  • Adds support for classes, interfaces, and modules

TypeScript:

  • TypeScript supports JS libraries & API Documentation
  • It is a superset of JavaScript
  • It is optionally typed scripting language
  • TypeScript Code can be converted into plain JavaScript Code
  • Better code structuring and object-oriented programming techniques
  • Allows better development time tool support
  • It can extend the language beyond the standard decorators, async/await
Parameter Typescript JavaScript
What is Powerful type system, including generics & JS features Lightweight, interpreted, object-oriented language with first-class functions
Data Binding TypeScript uses concepts like types and interfaces to describe data being used. No such concept is available with JavaScript
Ecosystem The Ecosystem is quite powerful and intuitive. It allows you to statically type various types of idiomatic JavaScript features like union types, intersection, discriminated union. JavaScript is a simple language that optimizes code for compatibility, easy to read and write.
Npm package With Typescript, many npm packages either come with static type definitions or have an external one that is easy to install. JavaScript offers the option to explore and create code without a build step
Learning curve Stiff learning curve — requires prior scripting knowledge. Flexible and easy to learn, scripting language
Prototyping Typescript has a feature of prototyping. JavaScript doesn’t have this feature
Community Typescript does not have a large community of developers. JavaScript has a huge community of developers
Compilation TypeScript code needs to be compiled No need to compile JavaScript
Annotation To get the most out of TypeScript features, developers should constantly annotate their code. No Annotations required for JavaScript
Companies using it Asana, Clever, Screen award Airbnb, Codecademy, Instagram

In Summary

TypeScript is a modern age JavaScript development language whereas JavaScript is a scripting language that helps you create interactive web pages. TypeScript uses concepts like types and interfaces to describe data being used whereas no such concept is available with JavaScript.

JavaScript VS TypeScript: Which is better?

In the end of this JavaScript and TypeScript battle, we can say that if an experienced developer is working on relatively small coding projects, then JavaScript is ideal. However, if you have knowledge and experience, then TypeScript is the preferred option.

References: 

https://www.typescriptlang.org/docs/

https://github.com/microsoft/TypeScript 

https://www.w3schools.com/js/

https://developer.mozilla.org/en-US/docs/Web/JavaScript

About

 

Hey! My name is Mario and I’m a software engineer that works with .NET, Java, and Microsoft Azure. I also have experience with AWS, and .NET and Java development. I have worked with NodeJs and would like to further sharpen my frontend skills and master new technologies like React.

Join Our Team