타입스크립트는 자바스크립트 코드를 구조화하고, 타입 안정성을 강화하기 위해서 사용됩니다.
타입의 종류
타입스트립트의 기본 타입은 자바스크립트의 기본 윈시 타입(primitive type)과 같습니다.
윈시 타입(primitive type)
- null
- undefined
- boolean
- string
- number
- bigint
- symbol
타입스크립트는 변수의 타입을 유추할 수 있어, 변수에 마우스를 올리면 해당 변수가 어떤 타입을 인지 유추한 정보를 메시지로 표시 됩니다.
변수에 초기값이 없는 경우에는 어떻게 될까?
변수에 초기값이 없는 경우, 타입스크립트는 기본적으로 변수를 암묵적인 any 타입으로 간주합니다. any 타입은 특정 타입을 강제하는 대신 새로운 값이 할당될 때마다 변수 타입이 변합니다. 일반적으로 any 타입을 사용하게 되면 타입스크립트를 사용하는 목적이 사라지게 됩니다. (any 타입은 사용하지 말아야 합니다.)
타입 에노테이션(Type Annotation)
타입스크립트는 초기값을 할당하지 않고도 변수의 타입을 선언할 수 있는 타입 에노테이션을 제공합니다. 타입 에노테이션은 변수 이름 뒤에 콜론(:)을 붙인 후에 타입을 작성하여 사용 할 수 있습니다.
let myName: string;
myName = 'Kim';
타입 에노테이션은 타입스크립트에만 존재하기 때문에, 타입스크립트 소스 코드를 자바스크립트로 컴파일 하기 되면 해당 코드는 삭제되어 런타임 코드에 영향을 주지 않습니다.
// 출력된 .js 파일
let myName;
myName = 'Kim';
타입 에노테이션은 타입스크립트가 자체적으로 타입에 대한 정보를 얻을 수 없을 때나, 변동 될 가능성이 있는 변수에 사용하는 것이 좋습니다. (코드를 명확하게 문서화하거나 실수로 변수 타입이 변경되지 않도록 보호하기 위해 변수에 명시적으로 타입 에노테이션을 작성하는 것은 경우도 있습니다.)
let myName:string = 'Kim'; // string 타입 에노테이션은 중복되었다.
// 타입스크립트는 myName을 string으로 선언하지 않아도 string 타입을 갖는 것을 예측할 수 있다.
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=307683870
러닝 타입스크립트
자바스크립트 세계를 정복한 타입스크립트는 강력한 타입 안정성에 힘입어 가장 빠르게 성장하고 있다. 언어의 역사를 살펴보며 진화 과정과 작동 방식을 이해하고, 개념 설명을 돕는 수많은
www.aladin.co.kr
'Books > Learning TypeScript' 카테고리의 다른 글
6. 인터페이스 (0) | 2023.03.04 |
---|---|
5. 배열 (0) | 2023.02.23 |
4. 함수 (0) | 2023.02.21 |
3. 객체 (0) | 2023.02.18 |
2. 유니언과 리터럴 (0) | 2023.02.16 |