# TypeScript Basics

## 1. What is TypeScript?

* A superset language of JavaScript developed by Microsoft
* A language developed by adding features like **static type checking** and **class-based object-oriented programming** to JavaScript

\


## 2. Background of TypeScript's Emergence

* JavaScript was initially created as a scripting language that only worked in browsers, but as web application interactions using JavaScript increased, the amount of JavaScript code needed exploded
* JavaScript has the advantage of being flexible with dynamic typing and being able to use various libraries and frameworks, but has the disadvantage of **lacking type explicitness**
* Lack of type explicitness leads to unexpected results

\


## 3. Advantages of Using TypeScript

* TypeScript provides **static type checking functionality** and improves **code readability** and **maintainability**
* This allows developers to **minimize runtime errors**, **reduce code writing time**, and improve **code readability** during collaboration
* Additionally, TypeScript **supports the latest JavaScript syntax** including ES6 syntax, and provides features like Interfaces, Generics, Decorators, etc., making object-oriented programming easier
