Ts challenge(4) - Replace

김영현·2024년 5월 17일
1

ts challenge

목록 보기
4/6

Replace

문자열을 치환하는 메서드인 replace()를 타입스크립트로 구현하는 문제다.

풀이1)

풀다가 타입스크립트에서도 템플릿 리터럴이 적용된다는 사실을 알게되었다.

type Replace<S extends string, From extends string, To extends string> =  From extends '' 
      ? S 
      : S extends `${infer left}${From}${infer right}`
        ? `${left}${To}${right}`
        : S
  1. 교체 대상 문자열이 없으면, 원본 문자열을 반환한다.
  2. 교체대상 문자열이 존재한다면 템플릿 리터럴인 ${infer V}${From}${infer R}를 이용하여 left,right부분에 있는 string을 캡쳐해둔다.
  3. To에 들어온 타입으로 바꿔준다.

끝!


profile
모르는 것을 모른다고 하기

4개의 댓글

comment-user-thumbnail
2024년 5월 18일

오오.. 고난도 문제들을 풀고 계시는군요..!! 대단하십니다 ㅎㅎ (꾸준함이 더 대단하십니다..!! ㅎㅎ)
저도 타입스크립트가 템플릿 리터럴이 된다는 건 처음 안 사실이네요 👍

1개의 답글