[TS] 타입스크립트의 변수와 선언문

로움·2022년 5월 18일
0

타입스크립트

목록 보기
1/14
post-thumbnail

타입스크립트 기본 제공 타입

타입스크립트는 자바스크립트와 호환성을 위해 그에 대응하는 타입을 제공한다.

let과 const

EE5의 자바스크립트는 var를 사용하여 변수를 선언한다.
그러나 다른 프로그래밍 언어와는 다르게 동작하는 var때문에, ESNext 자바스크립트는 let과 const라는 키워드를 도입했다.
(사실상 ESNext는 var를 사용하지 말라고 권고한다.)

let은 그 값이 수시로 변경될 수 있음을 암시하고,
cosnt는 그 값이 절대 변하지 않는다는 것을 암시한다.

타입 주석

타입스크립트에서는 자바스크립트 변수 선언문을 확장해 다음과 같은 형태로 명시한다. 이를 타입 주석이라고 한다.

let n: number = 1;

타입스크립트에서는 자바스크립트와 다르게 let으로 선언한 변숫값은 타입 주석으로 명시한 타입에 해당하는 값으로만 바꿀 수 있다.

타입 추론

자바스크립트와의 호환성을 위해 타입 주석 부분을 생략할 수 있다. 이를 타입 추론이라고 한다.
따라서 이후 각 변수에는 해당 값의 타입만 저장할 수 있다.

let n = 1 // n의 타입을 number로 판단

any타입

자바스크립트와의 호환을 위해 any라는 이름의 타입을 제공한다. 어떤 종류의 값도 저장할 수 있다.

undefined

자바스크립트에서 undefined는 값이다. 변수를 초기화하지 않으면 해당 변수는 undefined값을 가진다.
그러나 타입스크립트에서는 undefined는 타입이기도 하고 값이기도 하다.

let u: undefined = undefined
u = 1 // error

u에 undefined가 선언되었으므로 오직 undefined값만 가질 수 있으므로 오류가 난다.

타입의 상속 관계를 보면 any는 모든 타입의 최상위 타입인 반면, undefined는 모든 타입의 최하위 타입이다.

profile
FrontEnd 외길인생

0개의 댓글