타입스크립트에는 여러 장점들이 존재하지만,
최고의 장점은 type을 선언하여 에러등을 미리 잡을수있다는 점이다.
이러한 타입 선언 방식에 대해서 살펴보고,
타입스크립트가 어떻게 타입을 활용하는지 알아보자
이 글에서 알아볼 것
- 타입 애너테이션
- 타입 추론
- 자바스크립트 type vs 타입스크립트 type
1. 타입 애너테이션
- 타입스크립트에게 해당 변수등의 타입이 뭔지 알려주는 구문이다
- const myVal: type = value; 이런 구조로 사용할수있다.
- 단, 타입 애너테이션에서의 원시 타입은 모두 소문자여야한다
2. 타입 추론
- 위에서 알아본 타입 애너테이션이 대부분의 경우에는 직접 명시할 필요가없다,, 왜냐하면 타입스크립트 자체가 타입을 추론하기 떄문이다
- 특정 변수나 상수에 어떤 타입을 사용했는지를 타입스크립트는 추론을 통해 이해하고있다.
- 예를들어 const num = 5; 라는 코드를 보면 타입스크립트는 해당 상수가 숫자형으로 초기화되었다는것을 인지하고, 상수 num를 숫자형으로 인식한다
- 또한, const num: number = 5; 처럼 타입 추론이 가능한 변수에 타입을 할당하는 것은 권장되지 않는다
- 즉, 타입 추론이 불가능할때만 타입 할당하는 것이 바람직하다
- 여기서 타입추론이 불가능할때란, 변수를 선언만하고 초기화하지 않았을때가 보통 타입추론이 불가능할때이다.
- 왜냐하면, 변수를 선언만하면 변수는 any타입으로 추론되기때문
- any 타입이란?
- 타입을 any로 선언하면, 어떤 타입이던지 받을수있게된다,, 하지만 이러면 타입스크립트를 사용하는 의미가 희석된다
- 즉, 특별한 경우를 제외하면 사용을 자제하는것이 좋은 타입이다.
- any 타입이란?
- 왜냐하면, 변수를 선언만하면 변수는 any타입으로 추론되기때문
3. 자바스크립트 type vs 타입스크립트 type
- 자바스크립트 type은 동적 타입이다.
- 즉, 문자열을 할당할 때, 처음에 숫자형을 잡아둘 수 있는 변수가 있더라도 문제가 없다.
- 따라서 이러한 과정에서 발생할수있는 오류를 방지하기 위해 typeof 연산자를 활용하였다
- 타입스크립트 type은 정적 타입이다
- 즉, 개발 도중에 변수와 매개변수의 타입을 정의한다는것을 의미한다
- 런타임중에 갑자기 변하는등의 작업은 일어나지 않는다
- 결론
- 자바스크립트는 타입을 런타임중에 확인하지만, 타입스크립트는 타입을 컴파일중에 확인한다
'OLD > Typescript' 카테고리의 다른 글
[Typescript] Typescript 함수 (0) | 2023.03.11 |
---|---|
[Typescript] Typescript 시작하기 (0) | 2023.02.26 |