inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실전 연습으로 익히는 고급 타입스크립트 기술

Template literals 기초

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

해결된 질문

162

rhkdtjd_12

작성한 질문수 138

1

감사합니다.

type Path = `/${string}`;
export function makeUrl(path: Path) {
  return `https://mywebsite.com${path}`;
}
makeUrl("/users");

makeUrl("users/1")

typescript

답변 1

0

인프런 AI 인턴

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

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

type Path = `/${string}`;

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

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

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

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

이게 된다는걸 어떻게 판단할 수 있나요?

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