Template literals와 extract를 활용해서 풀어보았습니다
정답은 맞췄지만, 좋은 방법인지는 모르겠습니다
import { Equal, Expect } from "./helper";
type Routes = "/users" | "/users/:id" | "/products" | "/products/:id";
type DynamicRoutes = `${Extract<Routes, "/users/:id"> | "/products/:id"}`;
type tests = [Expect<Equal<DynamicRoutes, "/users/:id" | "/products/:id">>];
다음 영상을 보면 알게 되겠지요!
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
rhkdtjd_12님, 고급 타입스크립트 기능을 활용해서 문제를 해결하신 것 같습니다.
주신 코드 내용을 봤을 때, Extract 유틸리티 타입을 사용하여 Routes 유니언 타입에 포함된 라우트들 중 동적 파라미터를 포함하는 타입들(/users/:id, /products/:id) 만 추출하셨고, Template literals를 사용하여 동적 라우트 문자열 타입들을 DynamicRoutes 유니언 타입으로 조합하셨네요.
정답 여부를 자가테스트하는 과정도 포함하셨고, 제네릭을 활용한 Expect와 Equal을 사용해서 타입이 올바르게 추론되었는지 확인하는 방식을 취하셨습니다.
타입스크립트에서 이와 같은 고급 타입 유틸리티와 템플릿 리터럴 타입을 활용하는 것은 좋은 방법 중 하나입니다. 더 나아가 다음 영상에서 더욱 좋은 방법이나 다른 사례들을 접하실 수 있으실 거예요. 공부하는 과정에서 여러 방법을 시도해보는 것은 매우 유익합니다.
열심히 공부하시는 모습이 멋지네요! 만약 추가적인 질문사항이 있으시다면 문의해 주세요.
이게 된다는걸 어떻게 판단할 수 있나요?
0
62
2
연습문제 강의 확인 부탁드립니다.
0
80
2
object key 질문드립니다.
0
66
1
행운 닉네임 등록부탁드립니다!
0
137
2
각 강의에 대한 설명 링크 404에러
0
72
2
행운문제 닉네임 등록 요청드립니다
0
65
2
블로그 링크 문제
1
124
1
제네릭과 사용자 정의 타입 가드에 관한 질문
1
168
1
제네릭 타입 제한을 하는것이 어떤 장점이 있을까요 ?
1
141
1
행운문제 닉네임 등록 신청합니다!
0
113
2
행운문제 테스트 유저 이름 입력 요청
0
129
2
행운문제 닉네임 입력 요청
1
158
2
행운문제 테스트 유저 이름 입력 요청
1
140
2
설명 블로그에 대한 질문
2
129
3
행운동전!
0
115
2
행운문제 테스트 유저 이름 입력 요청
0
122
1
행운 테스트 문제 400 에러
0
177
2
행운 테스트 문제 (존재하지 않는 유저입니다.)
1
203
2
행운테스트 동전이용!!
0
209
2
연습문제 링크 이슈
2
223
3
화살표 함수와 일반 함수의 매개변수 추론 관련
1
311
2
제네릭을 활용해서 정답을 맞춰보았습니다!
1
334
2
cache 강의 질문
1
213
1
Record의 제네릭은 자동적으로 바뀌나요?
0
383
2





