이해를 돕기 위한 예시들
type First = 'cho' type Last = 'seonglae' type FullName = `${First} ${Last}` type Name = 'program' type Version = '1.1.1' | '1.1.2' type Full = `${Name} ${Version}`
이딴식들로는 안쓴다 어차피 ts는 정적 타이핑
type Entry = "In" | "Out"; type InOrOut<Type extends `fade${string}`> = Type extends `fade${infer Return}` ? Return : never; // type I = "In" type In = InOrOut<"fadeIn">; // type O = "Out" type Out = InOrOut<"fadeOut">;
type TrimRight<T extends string> = T extends `${infer R} ` ? TrimRight<R> : T;
Template Literal Types로 타입 안전하게 코딩하기
2020년 11월 TypeScript 4.1이 출시되면서 "Template Literal Type"을 사용할 수 있게 되었습니다. TypeScript로 JSON Parser를 만들거나, document.querySelector 의 결과 타입을 추론할 수 있게 되어 화제가 되었는데요. 이번 아티클에서는 Template Literal Type이란 무엇인지, 이를 바탕으로 어떻게 그런 결과물을 만들 수 있었는지 간단히 예시로 소개드리고자 합니다.
https://toss.tech/article/template-literal-types

Seonglae Cho