# TypeScript Basics

## 1. TypeScript란?

* 마이크로소프트에서 개발한 JavaScript의 상위 집합(Superset) 언어
* JavaScript에 **정적타입 검사**와 **클래스 기반 객체 지향 프로그래밍** 등의 기능을 추가하여 개발된 언어

\


## 2. TypeScript의 등장 배경

* JavaScript는 처음에는 브라우저에서만 동작하는 스크립팅 언어로 만들어졌으나, JavaScript로 웹 애플리케이션의 상호작용이 증가하며 필요로 하는 JavaScript 코드의 양이 폭발적으로 늘어남
* JavaScript는 동적 타입이 결정되어 유연하며 다양한 라이브러리와 프레임워크를 사용할 수 있는 장점이 있지만, **타입의 명시성이 부족하다는 단점**이 있음
* 타입의 명시성이 부족하게 되면 예상치 못한 결과를 초래하게 됨

\


## 3. TypeScript 사용 시 장점

* TypeScript는 **정적타입 검사 기능**을 제공하며, **코드의 가독성**과 **유지 보수성**을 높여줌
* 이를 통해 개발자는 **런타임 에러를 최소화**하고, **코드 작성 시간을 단축**하며, 협업 시 **코드의 가독성**을 높일 수 있음
* 또한 TypeScript는 ES6의 문법을 포함한 **최신 JavaScript 문법을 지원**하며, Interface, Generic, Decorators 등의 기능을 제공해 객체 지향 프로그래밍을 보다 쉽게 할 수 있도록 도와줌.
