자바스크립트에서와같이 타입스크립트를 작성하면 다음과 같은 오류가 뜨는 것을 확인할 수 있다.
이미 문자열 타입을 할당했던 변수 something에 넘버 타입을 할당하려 하였기 때문에 오류가 난 것이다. 이처럼 타입스크립트는 변수에 한 번 타입이 설정되면 다른 타입이 오는 것을 원천적으로 방지한다. 변수는 선언 시 기본적으로 any 타입으로 설정되는 것을 볼 수 있다.
이러한 변수는 다음과 같이 변수 옆에 : type
을 추가하는 방식으로 선언과 동시에 특정 타입으로 설정할 수 있다.
이러한 타입 설정을 Type annotation이라고 부른다.
Type annotation은 다음과 같이 함수에 올 수 있는 변수의 타입 또한 미리 설정할 수 있다.
그렇다면 이렇게 설정할 수 있는 타입에는 어떠한 종류가 있을까?
기본적으로 타입스크립트는 정적 타입(static type)
이다. 이러한 방식은 개발 과정에서 타입을 명시하며, 자바스크립트의 동적 타입(dynamic type)
이 런타임에서 타입을 체크하는 것과 달리 개발 중간에 타입을 체크한다.
타입스크립트의 기본 제공 타입은 자바스크립트의 타입+a 라고 볼 수 있다. 타입스크립트에서 사용 가능한 ES6 표준 기본 자료형은 다음과 같다.
이러한 기본 타입은 표기시 소문자만을 이용해야 한다. 추가로 다음의 참조타입 또한 명시할 수 있다.
타입스크립트는 또한 안정적인 프로그래밍을 돕기 위해 기존 자바스크립트에 없는 다음의 타입을 추가로 제공한다.
변수: [타입, 타입]
의 형태로 할 수 있으며, 지정된 타입의 순서를 틀리거나 지정하지 않은 인덱스에 할당하려 하면 에러를 발생시킨다.만약 기존에 설정된 타입과 다른 타입을 설정하고싶다면 as 키워드나 <>를 이용하여 타입 변환을 할 수 있다.
코드 추가 예정
참고
TS 공식문서 - Everyday Types
TypeScript Guidebook by 이듬(E.UID)
poiemaweb.com