언어/TypeScript

infer - 타입 추론하기

calendar2 2024. 10. 17. 17:30

타입을 추론해주는 문법이 존재한다. 아래 코드를 살펴보자.

infer 1

 

FuncA와 FuncB라는 메서드 타입 두 개가 존재한다. 그리고 infer 문법을 사용해서 반환 타입을 추출하는 ReturnType을 만들어서, 각각 타입 A, B, C에 반환 타입을 정의해주었다.

 

C의 경우 T 위치에 메서드 타입이 아닌 원시 타입이 들어가 never 타입이 추출된 것을 볼 수 있다.

infer는 extends와 같이 사용해야 한다. T가 확장될 수 있도록 슈퍼타입이 가능한 타입을 추론해주는 역할이기에 extends infer 추론할 타입(대체로 R)로 작성하여 사용을 해준다.

한 가지 예시를 더 살펴보자.

infer 2

 

보면 extends 뒤쪽으로 Promise 타입이 들어오고 해당 Promise에 들어가는 타입이 T의 슈퍼 타입이 되도록 추론하여 반환해주는 형태로 작성한 것을 볼 수 있다.

참고자료

한 입 크기로 잘라먹는 타입스크립트(TypeScript)

 

한 입 크기로 잘라먹는 타입스크립트(TypeScript) 강의 | 이정환 Winterlood - 인프런

이정환 Winterlood | 문법을 넘어 동작 원리와 개념 이해까지 배워도 배워도 헷갈리는 타입스크립트 이제 제대로 배워보세요! 여러분을 타입스크립트 마법사🧙🏻‍♀️로 만들어드립니다., 프론

www.inflearn.com

 

'언어 > TypeScript' 카테고리의 다른 글

유틸리티 타입 2  (1) 2024.10.29
유틸리티 타입 1  (0) 2024.10.29
분산적인 조건부 타입  (0) 2024.10.16
조건부 타입  (1) 2024.10.15
템플릿 리터럴 타입  (2) 2024.10.09