한 입 크기로 잘라먹는 Ts - 타입 추론

한 입 크기로 잘라먹는 Ts - 타입 추론

타입 추론이란

·

2 min read

타입 추론

타입스크립트는 타입이 정의되어 있지 않은 변수의 타입을 자동으로 추론합니다.

  • 이런 기능을 “타입 추론” 이라고 합니다.

1

타입스크립트는 프로그래머에게 모든 변수에 일일이 타입을 정의하지 않아도 되는 편리함을 제공합니다.

그러나 모든 상황에 타입을 잘 추론하는 것은 아닙니다.

  • 예를 들어 다음과 같이 함수의 매개변수 타입자동으로 추론할 수 없습니다.

2

✅ 타입 추론이 가능한 상황들

1. 변수 선언

일반적인 변수 선언의 경우 초기 값을 기준으로 타입이 추론 됩니다.

4

3

2. 구조 분해 할당

객체와 배열을 구조 분해 할당하는 상황에서도 타입이 잘 추론 됩니다.

5

6

3. 함수의 반환 값

함수 반환 값의 타입은 return 문을 기준으로 추론 됩니다.

8

7

4. 기본 값이 설정된 매개변수

기본 값이 설정된 매개변수의 타입은 기본 값을 기준으로 추론 됩니다.

10

9

⚠️ 주의해야 할 상황들

1. 암시적인 any 타입(any 타입의 진화)

변수를 선언할때 초기값을 생략하면 암시적인 any 타입으로 추론 됩니다.

12

변수에 값을 할당하면 그 다음 라인부터 any 타입이 해당 값의 타입으로 변화합니다.

13

이렇게 암시적으로 추론된 any 타입은 코드의 흐름에 따라 타입이 계속 변화합니다.

  • 이를 any진화라고 표현하기도 합니다.

2. const 상수의 추론

const로 선언된 상수도 타입 추론이 진행됩니다.

  • 그러나 let으로 선언한 변수와는 다른 방식으로 추론됩니다.

14

상수는 초기화 때 설정한 값을 변경할 수 없기 때문에 특별히 가장 좁은 타입으로 추론됩니다.

최적 공통 타입(Best Common Type)

다양한 타입의 요소를 담은 배열을 변수의 초기값으로 설정하면, 최적의 공통 타입으로 추론됩니다.

15

16