타입스크립트(Typescript)란?
타입스크립트란 자바스크립트의 상위집합(슈퍼셋)으로, 자바스크립트의 고유한 기능을 모두 제공하면서 그 위에 타입 시스템(Type System)을 추가한 자바스크립트의 확장된 버전이다.
타입스크립트를 왜 사용해야 할까?
자바스크립트는 느슨한 타입의 언어(loosely typed language)이기 때문에, 이로 인해서 발생할 수 있는 문제들을 타입스크립트가 보완해준다.
사전 오류 감지 및 일관성 유지
자바스크립트에도 string, number, object 같은 원시타입이 있지만, 코드 전체에서 변수에 올바른 타입이 할당되었는지를 미리 확인해주지 않는다.
let str = 1
수많은 코드들 ....
str.toUpperCase()
str이라는 변수에 1이라는 number타입의 값을 할당한 경우
변수명을 보고 ‘string타입이겠지?’ 하고 문자열(string) 내장 메서드를 작성했다고 해보자.
자바스크립트에서는 이 에러를 코드가 실행되고나서야
TypeError: str.toUpperCase is not a function
라는 메세지와 함께 타입에러를 알려준다.
그렇다면 타입스크립트에서는 어떨까?

코드를 실행하지 않고도 타입에 대한 에러를 확인할 수 있다.
타입추론
그렇다면 타입스크립트를 사용하기위해 코드를 작성할 때 모든 타입을 작성해줘야 된다면 너무 작성할 내용이 많아지는건 아닐까 하는 생각이 들 수도 있다.
타입스크립트는 자바스크립트의 동작 방식을 이해하고 있어, 대부분의 경우 자동으로 타입을 추론할 수 있다.
