FrontEnd/TypeScript (2) 썸네일형 리스트형 infer란? 타입스크립트 infer는 조건부 타입에서 미리 정의되지 않은 타입을 유연하게 정의할 수 있도록 도와주는 문법이다.항상 조건부 타입 문법과 같이 사용되며 복잡한 타입 코드를 줄여준다.infer의 예시infer의 역할을 이해하기 위해서 간단한 코드를 살펴보자.type ElementType = T extends (infer ArrayElement)[] ? ArrayElement : T위 코드는 ElementType 타입에 제네릭으로 넘긴 배열 타입의 요소를 반환한다. 예를들어서 제네릭에 string[] 타입을 넘기면 string을 반환하고 number[]를 넘기면 number 를 반환한다.// 배열 타입을 넘긴 경우type Result = ElementType; // stringtype Result = Ele.. 맵드 타입(Mapped Type)이란 맵드 타입이란 기존에 정의되어 있는 타입을 새로운 타입으로 변환해주는 문법이다. 마치 자바스크립트의 for...in 문법처럼 **타입ㄹ 레벨에서 키를 순회**하며 새로운 타입을 만들어내는 강력한 매커니즘이다.맵드타입의 기본 문법{ [ P in K ] : T }{ [ P in K ]? : T }{ readonly [ P in K ] : T }{ readonly [ P in K ]? : T }위와 같이 [P in K] : string 형태가 인덱스 시그니쳐를 의미한다. 인덱스 시그니쳐는 미리 정해지지 않은 객체의 속성 타입을 정의할 때 사용하면 좋다.예를들어 아래와 같이.interface Heroes { [key: string]: string}const hero: Heroes = { hulk: '헐크', .. 이전 1 다음