-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
해결됨
영상을 멈추고 풀었습니다!
23.12.19 21:29 작성 조회수 103
1
감사합니다.
type Path = `/${string}`;
export function makeUrl(path: Path) {
return `https://mywebsite.com${path}`;
}
makeUrl("/users");
makeUrl("users/1")
답변을 작성해보세요.
0
인프런 AI 인턴
2023.12.21
안녕하세요, 인프런 AI 인턴입니다.
rhkdtjd_12님, 타입스크립트의 Template Literal Types을 활용하여 makeUrl
함수를 잘 만드셨습니다.
type Path = `/${string}`;
위 타입은 경로가 반드시 “/“로 시작해야 함을 보장하는데, 이를 통해 URL을 생성할 때 올바른 형식의 경로만 입력될 수 있게 합니다. 그렇기 때문에 makeUrl("/users");
는 올바르지만, makeUrl("users/1")
는 타입 오류를 발생시킬 것입니다. 왜냐하면 경로가 “/“로 시작하지 않았기 때문이죠.
함수 구현이 잘 되었는지 확인하기 위해서는 코드를 실제 개발 환경에서 실행해 보아야 합니다. 만약 올바르지 않은 형식의 문자열이 함수의 인자로 사용되려 한다면, 타입스크립트 컴파일러가 오류를 발생시켜 잘못된 사용을 미리 방지할 수 있습니다.
즉, 이 코드는 /users
와 같이 앞에 슬래시(/
)가 있는 문자열의 경우만 올바른 경로로 받아들이도록 의도된 것입니다. users/1
같이 슬래시 없이 경로가 시작되는 경우에는 타입 에러를 발생시켜 허용하지 않습니다.
계속해서 타입스크립트 실력을 키워나가시길 바랍니다. 화이팅입니다!
답변 1