• Home
  • HTML
    • HTML Introduction
    • HTML Basic
    • HTML Elements
    • HTML Attributes
    • HTML Headings
    • HTML Paragraphs
    • HTML Text Formatting
    • HTML Styles
    • HTML Comments
    • HTML Styles - CSS
    • HTML Links
    • HTML Images
    • HTML Tables
    • HTML Lists
    • HTML Block and Inline Elements
    • HTML class Attribute
    • HTML Forms
    • HTML Media
  • CSS
    • Introduction of CSS
    • CSS Syntax
    • CSS Selectors
    • How To Add CSS
    • CSS Comments
    • CSS Colors
    • CSS Backgrounds
    • CSS Borders
    • CSS Margins
    • CSS Text
    • CSS Lists
    • CSS Tables
    • CSS Box Model
    • CSS Dimension
    • CSS Padding
    • CSS Border
    • CSS Margin
    • CSS Outline
    • CSS Cursors
    • CSS Overflow
    • CSS Units
    • CSS Visual Formatting
    • CSS Display
    • CSS Visibility
    • CSS Position
    • CSS Layers
    • CSS Float
    • CSS Alignment
    • CSS Pseudo-classes
    • CSS Pseudo-elements
    • CSS Media Types
    • CSS Sprites
    • CSS Opacity
    • CSS Attribute Selectors
    • CSS Validation
    • CSS3 Border
    • CSS3 Gradients
    • CSS3 Text Overflow
  • JavaScript
    • JS Introduction
    • JS Getting Started
    • JS Syntax
    • JS Variables
    • JS Generating Output
    • JS Data Types
    • JS Operators
    • JS Events
    • JS Strings
    • JS Numbers
    • JS If Else
    • JS Switch Case
    • JS Arrays
    • JS Sorting Arrays
    • JS Loops
    • JS Functions
    • JS Objects
    • JS DOM Nodes
    • JS DOM Selectors
    • JS DOM Styling
    • JS DOM Get Set Attributes
    • JS DOM Manipulation
    • JS DOM Navigation
    • JS Window
    • JS Screen
    • JS Location
    • JS History
    • JS Navigator
    • JS Dialog Boxes
    • JS Timers
    • JS Date and Time
    • JS Math Operations
    • JS Type Conversions
    • JS Event Listeners
    • JS Event Propagation
    • JS Borrowing Methods
    • JS Hoisting Behavior
    • JS Closures
    • JS Strict Mode
    • JS JSON Parsing
    • JS Error Handling
    • JS Regular Expressions
    • JS Form Validation
    • JS Cookies
    • JS AJAX Requests
    • JS ES6 Features
  • jQuery
    • jQuery Introduction
    • jQuery Syntax
    • jQuery Selectors
    • jQuery Events
    • jQuery Show/Hide
    • jQuery Fade
    • jQuery Slide
    • jQuery Animation
    • jQuery Stop
    • jQuery Chaining
    • jQuery Callback
    • jQuery Get/Set
    • jQuery Insert
    • jQuery Remove
    • jQuery CSS Classes
    • jQuery Style Properties
    • jQuery Dimensions
    • jQuery Traversing
    • jQuery Ancestors
    • jQuery Descendants
    • jQuery Siblings
    • jQuery Filtering
    • jQuery Ajax
    • jQuery Load
    • jQuery Get/Post
    • jQuery No-Conflict
  • PHP
    • PHP Introduction
    • PHP Install
    • PHP Syntax
    • PHP Comments
    • PHP Variables
    • PHP Echo / Print
    • PHP Data Types
    • PHP Strings
    • PHP Constants
    • PHP Operators
    • PHP If...Else...Elseif
    • PHP Switch
    • PHP Loops
    • PHP Functions
    • PHP Arrays
    • PHP Superglobals
    • PHP Date and Time
    • PHP Include
    • PHP File Handling
    • PHP File Upload
    • PHP Cookies
    • PHP Sessions
    • PHP Filters
    • PHP Callback Functions
    • PHP JSON
    • PHP Exceptions
    • PHP What is OOP
    • PHP Classes/Objects
    • PHP Constructor
    • PHP Destructor
    • PHP Access Modifiers
    • PHP Inheritance
    • PHP Abstract Classes
    • PHP Interfaces
    • PHP Traits
    • PHP Static Methods
    • PHP Namespaces
  • SQL
    • Introduction to SQL
    • SQL Create Command
    • SQL ALTER Command
    • SQL Truncate Drop Rename
    • INSERT SQL command
    • UPDATE SQL command
    • DELETE SQL command
    • SQL COMMIT command
    • SQL ROLLBACK command
    • SQL GRANT and REVOKE Command
    • SQL WHERE clause
    • SQL LIKE clause
    • SQL ORDER BY Clause
    • SQL Group By Clause
    • SQL HAVING Clause
    • SQL DISTINCT keyword
    • SQL AND OR operator
    • SQL Constraints
    • SQL Functions
    • SQL JOIN
  • Python
    • Getting started with Python
    • Introduction to IDLE
    • Python 2.x vs. Python 3.x
    • Syntax Rules and First Program
    • Numbers and Math Functions
    • Python Operators
    • Python Variables
    • Python Modules and Functions
    • Python Input and Output
    • Data Types in Python
    • String in Python
    • String Functions in python
    • Lists in Python
    • Utilizing List Elements by Iterating
    • Deleting List Elements & other Functions
    • Dictionaries in Python
    • Functions for Dictionary
    • Tuples in Python
    • Relational and Logical Operators
    • Conditional Statements in Python
    • Looping in Python
    • Define Functions in Python
    • Python-Introduction to OOP
    • Object Oriented Programming in Python
    • Classes in Python
    • The concept of Constructor
    • Destructors - Destroying the Object in Python
    • Inheritance in Python
    • Access Modifers in Python
    • Types of Inheritance
    • Method Overriding in Python
    • Polymorphism
    • static Keyword
    • Operator Overloading Python
    • Introduction to Error Handling
    • Exception Handling: try and except
    • Exeption Handling: finally
    • Exception Handling: raise
    • File Handling
    • Reading and Writing File
    • Introduction to Multithreading
    • Threading Module in Python
    • Thread Object
    • Lock Object
    • RLock Object
    • Event Object
    • Timer Object
    • Condition Object
    • Barrier Object
    • __name__ Variable in Python
    • Iterable and Iterator
    • yield Keyword
    • Python Generators
    • Python Closures
    • Python Decorators
    • @property Decorator in Python
    • Assert Statement
    • Garbage Collection
    • Shallow and Deep Copy
    • Introduction to Logging
    • Configure Log LEVEL, Format etc
    • Python Logging in a file
    • Python Logging Variable Data
    • Python Logging Classes and Functions
    • Python MySQL Introduction
    • Create Database - Python MySQL
    • Create Table - Python MySQL
    • Insert Data in Table
    • Select Data from Table
    • Update data in Table
    • Delete data from Table
    • Drop Table from Database
    • WHERE clause - Python MySQL
    • Order By clause - Python MySQL
    • Limit clause - Python MySQL
    • Table Joins - Python MySQL
  • MongoDB
    • MongoDB Introduction
    • Overview of MongoDB
    • MongoDB vs SQL Databases
    • Advantages of MongoDB
    • When to go for MongoDB
    • Data Modelling in MongoDB
    • Is MongoDB really Schemaless?
    • Installing MongoDB on Windows and Linux
    • Datatypes in MongoDB
    • Create and Drop Database in MongoDB
    • MongoDB: Creating a Collection
    • CRUD Operations in MongoDB
    • Data Relationships in MongoDB
    • Indexing in MongoDB
    • Sorting in MongoDB
    • Aggregation in MongoDB
    • Data Backup and Restoration in MongoDB
    • Sharding in MongoDB
    • Java Integration with MongoDB
  • Elixir
    • Elixir Overview
    • Elixir Environment
    • Elixir Basic Syntax
    • Elixir Data Types
    • Elixir Variables
    • Elixir Operators
    • Elixir Pattern Matching
    • Elixir Decision Making
    • Elixir Strings
    • Elixir Char Lists
    • Elixir Lists and Tuples
    • Elixir Keyword Lists
    • Elixir Maps
    • Elixir Modules
    • Elixir Aliases
    • Elixir Functions
    • Elixir Recursion
    • Elixir Loops
    • Elixir Enumerables
    • Elixir Streams
    • Elixir Structs
    • Elixir Protocols
    • Elixir File I/O
    • Elixir Processes
    • Elixir Sigils
    • Elixir Comprehensions
    • Elixir Typespecs
    • Elixir Behaviours
    • Elixir Errors Handling
    • Elixir Macros
    • Elixir Libraries
  • TypeScript
    • TypeScript Overview
    • Install TypeScript
    • First TypeScript Program
    • Type Annotation
    • TypeScript Variable
    • TypeScript Data Type Number
    • TypeScript Data Type String
    • TypeScript Data Type Boolean
    • TypeScript Arrays
    • TypeScript Tuples
    • TypeScript Enum
    • TypeScript Union
    • TypeScript Any Data Type
    • TypeScript Void Data Type
    • TypeScript Never Data Type
  • Home
  • TypeScript Overview
  • Install TypeScript
  • First TypeScript Program
  • Type Annotation
  • TypeScript Variable
  • TypeScript Data Type Number
  • TypeScript Data Type String
  • TypeScript Data Type Boolean
  • TypeScript Arrays
  • TypeScript Tuples
  • TypeScript Enum
  • TypeScript Union
  • TypeScript Any Data Type
  • TypeScript Void Data Type
  • TypeScript Never Data Type
Home >> typescript >> TypeScript Overview

TypeScript Overview

TypeScript is an open-source, object-oriented language. It was developed and maintained by Microsoft, and licensed under Apache 2 license.

Also, TypeScript extends JavaScript, as it adds data types, classes, and other object-oriented features with type-checking. In addition, it is a typed superset of JavaScript that compiles plain JavaScript.

 

History of TypeScript Versions

VersionReleased Date
TypeScript 0.8October 2012
TypeScript 0.9June 2013
TypeScript 1.0October 2014
TypeScript 2.0September 2016
TypeScript 3.0July 2018
TypeScript 4.0 - latest releaseAugust 2020

Official website: https://www.typescriptlang.org

Source code: https://github.com/Microsoft/TypeScript

 

Why Choose TypeScript?

Javascript is known for its uniqueness as a dynamic programming language with no type of system. It provides primitive data types like strings, numbers, objects, and many more, however, it doesn't check assigned values. 

Also, JavaScript variables are declared by making use of the var keyword, and it can point to any value. However, JavaScript doesn't support classes and other object-oriented features (ECMA2015 supports it). Therefore, without the type system, it is quite difficult to use JavaScript to build complex applications with large teams working on the same code.

The increase in code quality and readability by type system makes it easy to maintain and refactor the codebase. 

Note that, errors can be caught at compile time rather than at runtime.

 

An important reason to use TypeScript is that it catches errors at compile time, this is to enable you to fix them before you run code. Also, it supports object-oriented programming features like data types, classes, enums, and more, hence allowing JavaScript to be used at scale.

In JavaScript, TypeScript compiles into it. The TypeScript compiler is implemented in TypeScript as well and can be used with any browser or JavaScript engine like Node.js. ECMAScript 3 or higher compatible environment to compile is needed by TypeScript. This Is a condition met by all major browsers and JavaScript engines in recent times and currently.

Note that a few of the most popular JavaScript frameworks such as WinJS and Angular.js are written in TypeScript.

 

How can you use TypeScript?

TypeScript code is written in a file with a .ts extension, then compiled into JavaScript by making using the TypeScript compiler. 

We can write TypeScript files in any code editor. But, a TypeScript compiler needs to be installed on your platform. If you are done with the installation, the command tsc <filename>.ts compiles the TypeScript code into a plain JavaScript file. Also, JavaScript files can then be included in the HTML and run on any browser.

 

TypeScript Features

  • Cross-Platform: TypeScript runs on whatever platform that JavaScript runs on. Also, its compiler can be installed on any Operating System such as Windows, Linux, and macOS.
  • Object-Oriented Language: TypeScript provides powerful features such as Classes, Interfaces, and Modules. We can write pure object-oriented code for client-side including server-side development.
  • Static type-checking: Static typing is used by TypeScript. It is done by type annotations. Static typing assists in type checking at compile time. errors can be found while typing the code without running our script each time. also, by making use of the type inference mechanism, if a variable is declared without a type, then it will be inferred based on its value.
  • Optional Static Typing: Static typing is optional in TypeScript when JavaScript's dynamic typing is to be used.
  • DOM Manipulation: Quite similar to JavaScript, TypeScript can be used to manipulate the DOM.
  • ES 6 Features: Features of planned ECMAScript 2015 (ES 6, 7) such as class, interface, Arrow functions, and so on, are included in TypeScript.

 

TypeScript Advantages

  • TypeScript is quite like JavaScript, as it uses the same syntax and semantics. All of TypeScript's code finally gets converted into JavaScript, thereby allowing a quicker learning curve for front-end developers currently coding in JavaScript.
  • It is also closer in syntax to backend languages such as Java and Scala. This assists backend developers write front-end code swiftly.
  • It runs on any browser or JavaScript engine.
  • TypeScript is an open-source language and has received continuous development and maintenance by Microsoft.
  • Also, its code can be called from an existing JavaScript code. It works with existing JavaScript frameworks and libraries without any issues.
  • The TypeScript Definition file, with the .d.ts extension, provides support for existing JavaScript libraries such as Jquery, D3.js, and so on. Hence, TypeScript code can add JavaScript libraries by making use of type definitions to avail the benefits of type-checking, code auto-completion, and documentation in existing dynamically-typed JavaScript libraries.
  • Lastly, TypeScript has easy integration with task runner tools such as Grunt and Gulp to automate the workflow in a program.


 

  • Next


-Advertisement-


DeveloperTutorial
[email protected] © 2022-2023 Developers Tutorial All rights reserved.

Follow Us

Facebook Twitter LinkedIn Printerest Reddit

Announcement

Its a big achivement for us, We make a partnership with TutorialWithExample.com for the better content of our users.

Still Need Help ?

Let us now about your issue and a Professional will reach you out.