자바스크립트와 타입스크립트는 다른 언어에 비해 타입에 좀 더 자유롭다.정수, 실수, 진수 등 다양한 숫자 타입을 number 로 선언할 수 있다.array 는 두 가지 방식으로 선언 가능하다.읽기 전용 배열 앞에는 readonly 나 ReadonlyArray<>
Object (객체)는 여러 타입의 상위 타입이다. (Array, function, Date ...)컴파일 옵션에서 엄격한 검사타입(strict)을 true로 설정하면, null은 포함하지 않는다.객체는 속성들에 대한 타입을 개별적으로 지정할 수 있다.반복적으로 사용된
Type Alias 는 하나 이상의 타입을 조합해 별칭을 부여한다.아래의 예시는 가장 간단하게 타입을 선언할 수 있는 방법이다.짧고 간단한 코드에서는 문제가 없지만 규모가 큰 프로젝트의 경우 타입의 가시성이 좋기를 바란다.이때 사용하는 것이 Type Alias 이다.다
union 은 2개 이상의 타입을 '허용'하는 경우이다..or 의 개념으로 생각하면 된다.intersection 은 2개 이상의 타입을 '조합'하는 경우이다.and 의 개념으로 생각하면 된다.
재사용을 목적으로 함수나 클래스의 선언 시점이 아닌, 사용 시점에 타입을 선언할 수 있는 방법을 제공한다.T 자리에 원하는 타입을 넣어서 사용할 수 있다.T 에는 string과 number 타입만 사용할 수 있다.Type Alias 도 interface 처럼 제너릭을
자바스크립트는 객체지향 언어로 ES6부터 Class 기능이 추가되었다.타입스크립트는 타입체크와 정적 프로퍼티 등의 추가 기능으로 자바스크립트 클래스를 향상시킨다. 클래스는 자바스크립트로 transpile 될때 transpiled 파일에 보관된다.클래스는 객체로 프로퍼티