In this new world of blooming IT fields, we often come across various new programming languages which may appear to be similar but often play a very vital and different roles. One such case is that of JAVASCRIPT and TYPESCRIPT. These may appear to be similar but are different in various contexts.
JavaScript was initially developed in 1995 in just 10 days! As we see the name ‘JAVA’ in JavaScript , we might think about some correlation between these two. However, JavaScript is just similar to java in terms of syntax. JavaScript is an object-based language which means that it doesn’t support all the features of OOPS(Object oriented programming).
Typescript is a superset of JavaScript. Which means that it is same as JavaScript but with a few more features which JS doesn’t have. It first appeared in 2012, a long time after JS came into existence.
For a basic understanding let’s see the basic operation/uses of both.
Observe any website, and just try to analyse and observe its components. The main building blocks/ components are built with the help of HTML . And these html components are then enhanced in looks and are made more presentable with the help of CSS. But even after designing and giving eye catchy colours, we do need to provide its main functionalities.
It could be any function, like showing the current time and date on screen, providing results after calculations, modifying the webpage according to the response of the user (like giving red boxes when data is incorrect), fetching information from a source, etc. All these are vital processes where we usually take help of JavaScript.
JavaScript is a client-side programming language, i.e., the type of language that helps in dealing with the part of a project, which user interacts with.
JavaScript was designed to give life to the websites by giving functionality. JavaScript was and is the most suitable for small level sites which may take a few hundred lines of code. Thus, it became very tedious and lengthy for making enterprise level applications. This is the place where TYPESCRIPT shines over JavaScript.
TypeScript is used to develop JavaScript applications for both client and server-side execution. It is most suitable for providing a high enterprise level sites as they have very lengthy and complex blocks of code. It is a primary language of Angular applications. (Angular helps in building interactive and dynamic single page applications)
JAVASCRIPT V/S TYPESCRIPT – OVERVIEW
JAVASCRIPT | TYPESCRIPT |
Dynamically typed | Statically typed |
Shows error at run-time | Shows error at compile time |
Ideal to use in projects with less code | Ideal to use in projects with complex and lengthy codes |
Used in ‘React’ to make user interfaces | Used in ‘Angular’ to make user interfaces |
Is directly executed | Is first converted to JS file and then executed |
Supported by mostly all the browsers | Not supported by all the browsers |
Is a client-side scripting language | Used for both client and server side |
JavaScript is dynamically typed which means we don’t need to declare the type of variables. It is done automatically. The type of variables is not known at the compile time. Not only this, the changing of data type can be done easily without any error. [Text Wrapping Break]
While typescript is statistically typed. Which means that we need to declare the type of a variable.
For example, while declaring a variable ‘x’ to use some numeric value we need to specify the type as ‘numeric’ in typescript while in JS we can directly assign the numeric value to ‘x’. Not only this, if we type cast this variable in future then we can directly (without actually typecasting it via code) do that in JS but we do need to follow a few steps of code to do that in TS. (typecasting is the process of converting the datatype of a variable into some other type).
In JS we are aware of the errors in the code, at run time. To be more descriptive, the time when we implement our code and see the output on the screen/browser. We don’t need to compile it manually, it executes automatically. [Text Wrapping Break]
While typescript tells us about the error at compile time. Hence, we will know about the errors before we implement them. This makes a great difference as this helps in error solving and saves a lot of time.
Typescript is not supported by all internet browsers. In order to work with it, we need to compile it to JavaScript via ‘tsc compiler’. This process is called “Transpilation”. [Text Wrapping Break]Whereas, all the modern browsers come with built-in support for JavaScript.
JavaScript is client-side scripting language, which means it helps in providing platform for applications to interact with the clients.[Text Wrapping Break]While typescript is sometimes considered as both client and server- side language and according to some, none of these two! As no browsers support typescript, it cannot be considered as client-side. And similarly, no server runs typescript natively, so again it cannot be considered as server-side language either. It is compiled to pure JavaScript.
CONCLUSION:
Both of these languages can be considered similar to one another, but existence of both is important for different purposes.
In order to conclude we can say that both of these languages help us by providing functionality to a web-project at different levels and in different ways. But the main difference is that JS is ideal for working on a small-scale project where the code is within a few hundred lines while typescript is used to design lengthy, tedious and complex code.
