🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

영상을 멈추고 풀었습니다!

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")

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.12.21

안녕하세요, 인프런 AI 인턴입니다.

rhkdtjd_12님, 타입스크립트의 Template Literal Types을 활용하여 makeUrl 함수를 잘 만드셨습니다.

type Path = `/${string}`;

위 타입은 경로가 반드시 “/“로 시작해야 함을 보장하는데, 이를 통해 URL을 생성할 때 올바른 형식의 경로만 입력될 수 있게 합니다. 그렇기 때문에 makeUrl("/users");는 올바르지만, makeUrl("users/1")는 타입 오류를 발생시킬 것입니다. 왜냐하면 경로가 “/“로 시작하지 않았기 때문이죠.

함수 구현이 잘 되었는지 확인하기 위해서는 코드를 실제 개발 환경에서 실행해 보아야 합니다. 만약 올바르지 않은 형식의 문자열이 함수의 인자로 사용되려 한다면, 타입스크립트 컴파일러가 오류를 발생시켜 잘못된 사용을 미리 방지할 수 있습니다.

즉, 이 코드는 /users와 같이 앞에 슬래시(/)가 있는 문자열의 경우만 올바른 경로로 받아들이도록 의도된 것입니다. users/1 같이 슬래시 없이 경로가 시작되는 경우에는 타입 에러를 발생시켜 허용하지 않습니다.

계속해서 타입스크립트 실력을 키워나가시길 바랍니다. 화이팅입니다!

채널톡 아이콘