Javascript의 슈퍼셋(JS의 모든 기능 + 추가기능)이다.
슈퍼셋인만큼 Javascript 기능을 모두 포함하고있다.
typescript가 제공하는 추가기능이란, 데이터의 타입을 제공한다.
type Centimeter = number;
type rgbColor = 'red' | 'green' | 'blue';
let age = 10;
let weight: number = 80; // number라는 유형을 알려줬지만 별 도움이 되는진 모르겟음
let height: Centimeter = 176; // 타입유형을 만들어 나타낼 수 있다.
let color: rgbColor = 'blue';
weight: number
에서 number
타입은 큰 의미가 없다고 볼 수도 있다.
그러나 height: Centimeter
처럼 Centimeter
라고하는 새로운 타입을 만들어서 정의를 해주게되면, 코드만 보고도 176의 단위가 Centimeter임을 알 수 있게됐다.
이렇게 데이터의 유형을 정해줌으로써 코드의 표현력이 명확해지고 풍성해진다. 이는 가독성이 향상시키고 수정이 편리하도록 해준다.
typescript의 문법으로 작성된 코드는 tsc라는 이름의 트랜스파일러를 이용해 javascript로 변환된다.