JavaScript, alongside HTML and CSS, is one of the core building blocks of the internet. Most web developers, regardless of if they plan to specialise as frontend or backend developers, start by learning those three languages.
However, in recent years, Typescript, a scripting language which builds on JavaScript, has rapidly gained in popularity to establish itself as another core web technology. This article looks at the differences between the two languages and their relationship, addressing the question of whether TypeScript can be considered an alternative to JavaScript.
What is JavaScript?
JavaScript is a programming language originally developed for dynamic HTML in web browsers. It was used to embed web page “logic” so that user interactions could be evaluated, content modified or generated. JavaScript, along with HTML and CSS, are standard web development tools, although JavaScript is also used on servers or in microcontrollers.
JavaScript was originally published in 1995 by Netscape as LiveScript and renamed JavaScript due to a cooperation with Sun Microsystems (then developer of Java). Although Java and JavaScript have different basic concepts and were developed independently, the name change was intended to make JavaScript more popular by leveraging the already established ‘Java’ brand.
JavaScript is a scripting language that is equipped with an ECMAScript standardised language core and can be used for object-oriented, procedural or functional programming as required. The ECMAScript language core describes a dynamic, typed, object-oriented, but classless scripting language.
What is TypeScript?
TypeScript is a programming language developed by Microsoft based on ECMAScript – a JavaScript standard. TypeScript is considered a superset of JavaScript. This means that any JavaScript code is also valid TypeScript code, and that common JavaScript libraries such as AngularJS or Ionic can also be used in TypeScript. The strictly typed scripting language uses concepts such as object orientation and type inference to describe data, and can also handle generic data types.
Microsoft wanted to remedy the shortcomings of the JavaScript scripting language in the area of large-scale application development. In pursuit of a more enterprise-scale alternative to JS, Microsoft initiated the development of TypeScript, which is based on JavaScript.
The developers, including chief developer Anders Hejlsberg, aimed to develop TypeScript in such a way that the compatibility and platform independence of JavaScript would not be endangered. This is how TypeScript came to be equipped with an extended JavaScript compiler that can translate the code into JavaScript so that TypeScript can also run in the browser.
What is the relationship between TypeScript and JavaScript?
TypeScript is derived from JavaScript and is based on JavaScript’s standardised language core ECMAScript. Another special feature of TypeScript is that it is a superset of JavaScript and can use its libraries such as Angular.
The programming language, which was initially only supported by Visual Studio Code, is now supported by numerous IDEs and is also often used in the developer community in combination with JavaScript. TypeScript is closely linked to JavaScript and can, simply put, be described as a “super category”. So it is not surprising that TypeScript, like JavaScript, is used especially in web development.
In contemporary web development, there is almost no way around using JavaScript, which is the main reasons why JavaScript is the most used programming language in 2021.
However, the graph below illustrates how popular TypeScript is also becoming with developers and project sponsors. The Developers Survey, published annually by StackOverflow, shows that TypeScript is the second most wanted programming language behind Python as a new skill to learn.
TypeScript also comes in at third place in the rankings of “Most Loved” programming languages and therefore, as last year, very popular with developers. Typescript’s popularity within the software development community is expected to mean a strong upward trend in the usage of TypeScript in the future and lead to the further development of of the growing ecosystem of software tools used with the language.
JavaScript, on the other hand, despite being the most widely used programming language, is also in the Top3 directly behind TypeScript and Python among the “most wanted” programming languages. Those who believe that the development of TypeScript and JavaScript are connected to each other are probably right.
It is often said that because TypeScript is a superset of JavaScript, it is not really a “new” programming language. However, most developers who learn TypeScript either also learn JavaScript simultaneously or have already learned it before moving on to the superset.
TypeScript vs JavaScript: a direct comparison
To get a solid idea of the advantages and disadvantages of the two programming languages, a direct comparison of their main features and characteristics is necessary. We will look at the potential uses of the two languages, how they perform in different circumstances and compare other features.
We will also look at how the growing popularity of JavaScript might affect TypeScript in the future.
JavaScript: JavaScript is a lightweight scripting language that can compute, validate and modify data to make web pages interactive. It can also add dynamic text to HTML and CSS documents. Some developers at Netscape decided to develop a language to modify the HTML components of the browser (if you haven’t heard of it, it was a real sensation at the time). This is how JavaScript was developed. Please remember that JavaScript and Java have nothing to do with each other. Introducing the ‘Java’ into JavaScript was simply a branding strategy.
In the future, JavaScript will continue to evolve and gain new features. JavaScript-based innovations like the React and React Native libraries as well as other popular frameworks have shown how useful it can be across server and client-side web development
In recent years, JavaScript has been further adapted to run in a server environment (Node.js). Back-end developers are familiar with the front-end, just as a developer with a frontend background is familiar with the backend logic. It’s been around for a long time and will continue to be around, and the large open-source community is a hugely valuable resource.
Many frameworks and libraries are developed based on JavaScript, which makes it easier to implement common functions.
It is a dynamic language that aims to increase programmer productivity by allowing you to create functions with less code. It is one of the easiest programming languages to learn.
TypeScript: TypeScript has all the features of an object-oriented programming language, including classes, interfaces, inheritance, modules and so on. We can write code with TypeScript for both client-side and server-side development. All JavaScript elements are supported by TypeScript. It allows developers to use TypeScript with existing JavaScript code. We can easily use all JavaScript frameworks, tools and libraries here.
TypeScript code is not executed immediately in a browser. TypeScript programmes always start with JavaScript and end with JavaScript. Therefore, we only need to understand JavaScript to use it in TypeScript. To execute, TypeScript code is compiled and converted into its JavaScript equivalent. This is called trans-piled. Browsers can read TypeScript code and display the output with JavaScript code.
TypeScript can be used like JavaScript to modify the DOM and add or delete elements. TypeScript includes a powerful JavaScript compiler that can convert the code into JavaScript so that TypeScript can also be executed in the browser.
TypeScript vs JavaScript: Design and Syntax (Hello World!)
For most developers, the first computer program in any language is probably the “Hello, World!” program. This program is considered the basic program in any programming language and is intended to provide a first overview and introduction to the programming language. It serves as an illustration, as it shows what the first executable code might look like. In the following, we show the code for the “Hello, World!” programme in both JavaScript and TypeScript:
In JavaScript, there are three different ways to run Hello World. The console.log function is used to output the text in the console. The second variant is the alert function, which pops up the text in a pop-up window. The last and least used variant is the document.write function, which embeds the entered text in the HTML document. All functions are listed below:
JavaScript – console.log:
console.log(“Hello World!”);
JavaScript – alert:
alert(“Hello World!”);
JavaScript – document.write:
Document.write(“Hello World!”);
As can be seen in the code examples, the syntax of JavaScript is quite simple and comprehensible even for non-developers. It is therefore not surprising that JavaScript, together with HTML/CSS and Python, is often considered one of the easiest programming languages to learn.
In order to briefly illustrate the opposite side, i.e. the syntax of TypeScript, the following shows one way in which Hello World! can be output in the console.
TypeScript – console.log:
Var message:string = “Hello World!” ; console.log(message);
Because the TypeScript code is translated into JavaScript code, the following is the translated code:
Var message = “Hello World!”; console.log(message);
The code shown here is just another way of writing a Hello World! programme in JavaScript. But even if you look at the extent to which the code has changed after translation, you quickly realise that the presentation has hardly changed and the logic has not changed at all.
Many developers claim that TypeScript is not really a new programming language and that even though there are differences, TypeScript is actually JavaScript. Whether you agree with this thesis or not, the fact is that these programming languages are very similar and those who are already familiar with JavaScript will definitely find it easier to learn TypeScript.
TypeScript vs JavaScript: Community and support
JavaScript is currently the most popular programming language and has been an essential technology in web development for over 20 years. Accordingly, a large, helpful community has formed around JavaScript, especially in the field of web development.
As a result, almost every conceivable problem in JavaScript has already been discussed.That means bugs and problems can usually bequickly solved with a search on platforms like StackOverflow or GitHub. And on the rare occasions this turns out not to be the case, the JavaScript community is large enough that a solution is often found quickly after questions in active forums such as those already mentioned.
TypeScript, on the other hand, has only been around for about 10 years and therefore does not yet have the scale of user base that JavaScript benefits from. However, this does not mean that there is not a strong TypeScript community.I It is very much there and continues to grow. As you can see in the chart below, TypeScript, along with Go and Kotlin, is one of the programming languages that most developers want to migrate to. This not only means that the programming language is becoming more popular, it is also becoming more popular among experienced developers which has an impact on the quality of the community.
TypeScript vs JavaScript: Which language is better for web development?
When it comes to which language you should learn for web development, some wonder whether to start with JavaScript or TypeScript. On the one hand, TypeScript is only a superset of vanilla JavaScript, so you would learn JavaScript at the same time as learning TypeScript.
TypeScript is considered to be an extended JavaScript with more functions, as well as types that JavaScript lacks, although a few syntax differences still have to be learned. Other voices think that it makes sense to learn the vanilla JavaScript first in order to create a robust foundation. They say that in the fast-changing world of software development, new interesting technologies are constantly being added. Thus, with vanilla JavaScript, one would create the basis to better learn further future technologies.
There is no definitively right answer to the question of whether it would be better to learn JavaScript first or jump straight into TypeScript. In many ways the order the two are learned is perhaps not especially important since the two are so similar to each other. However, if you want to implement projects with Angular, there is a greater incentive to prioritise TypeScript. Due to a partnership between Microsoft and the Angular team, Angular 2+ is built on TypeScript. Thus, learning TypeScript is a necessity for the successful use of Angular 2+.
TypeScript vs JavaScript: strategic business considerations
When developing a web application, the question of which technologies to use must always be addressed. In contrast to other areas of software development, there are usually only a few really good alternatives in web development. One thing is clear, every web developer, no matter if front- or backend, will at least have dealt with the basics of HTML & CSS. For the frontend, these are the basic technologies anyway.
TypeScript and JavaScript can be used together for different components in a project. For projects in which Angular is used in preference to React, TypeScript is recommended. However, it has to be said that hardly any TypeScript developers do not also know JavaScript, which makes TypeScript developers a bit more flexible.
Accordingly, according to the StackOverflow 2021 survey, TypeScript developers earn slightly more than JavaScript developers. However, JavaScript will be indispensable in most web applications for the time being, since most web frameworks, whether front-end or back-end, are built on it.
Also interesting – our Article: Why the right technology stack for your web applications is such a crucial strategic decision and a checklist to get it right
Conclusion
It is important to look at the current trends and developments in the IT and software industry, whether JavaScript or TypeScript is the right technology for your next web application depends entirely on the project and resources available to you However, it can be said with great certainty that you will end up working with JavaScript technology, whether that is JavaScript itself or Typescript.