타입스크립트: `infer`를 통해 복합 타입의 일부 추출하기 | Axel Rauschmayer


이 블로그 포스트에서는 TypeScript의 infer 키워드를 활용하여 조건부 타입에서 복합 타입의 일부를 추출하는 방법을 탐구합니다. infer는 조건부 타입의 extends 절 안에서 타입 패턴 내에 새로운 타입 변수를 도입하여, JavaScript의 구조 분해와 유사한 기능을 제공합니다. 이를 통해 배열의 요소 타입을 추출하거나, Record를 사용하여 객체의 프로퍼티 키와 값을 추출하는 방법을 예시로 보여줍니다. 또한 함수 타입에서 ParametersReturnType 유틸리티 타입을 사용하여 매개변수와 반환 타입을 추출하고, 클래스 타입에서 ConstructorParametersInstanceType을 활용하는 방법도 다룹니다. 비동기 인터페이스의 모든 메서드를 동기 메서드로 변환하는 예제를 통해 매핑 타입에서 infer를 사용하는 방법을 설명합니다. 마지막으로, 복잡한 타입에 대한 별칭을 만들기 위해 infer를 활용하여 타입 수준에서 변수 선언을 에뮬레이트하는 기법을 소개합니다.

1개의 좋아요