inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

Cache

cache 강의 질문

해결된 질문

212

yje10007

작성한 질문수 3

1

  1. 둘의 차이가 궁금합니다.

clone: <U>(transform: (elem: T) => U) => Cache< ReturnType<typeof transform> >;

clone: (transform: <U>(elem: T) => U) => Cache< ReturnType<typeof transform> >;
  1. 왜 명시적으로 제네릭을 지정하면 오류가 날까요

const stringCache = numberCache.clone(<string>(elem) => {
    return String(elem);
  });

typescript

답변 1

0

애프터캠프

안녕하세요

1번하고 2번 질문이 연관된 것 같은데 합쳐서 답변드리겠습니다.

clone: <U>(transform: (elem: T) => U) => Cache< ReturnType<typeof transform> >;
clone: (transform: <U>(elem: T) => U) => Cache< ReturnType<typeof transform> >;

위의 clone과 아래의 clone의 차이는 제네릭을 위한 타입 변수를 선언을 clone함수에 할 것이냐 아니면 transform이라는 함수 인자에 해줄 것이냐의 차이인데요.

논리적으로는 2번째 방법도 가능한 것처럼 보이지만 타입스크립트에서 유효하지 않은 문법입니다. 왜? 라고 물어보시면 저도 할 말이 없지만 아마 언어를 설계하신 분이 첫번째 방법으로도 가능하기 때문에 두번째 방법이 가능하도록 따로 구현하지 않은 것 같습니다.

 

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

0

62

2

연습문제 강의 확인 부탁드립니다.

0

80

2

object key 질문드립니다.

0

66

1

행운 닉네임 등록부탁드립니다!

0

136

2

각 강의에 대한 설명 링크 404에러

0

71

2

행운문제 닉네임 등록 요청드립니다

0

65

2

블로그 링크 문제

1

124

1

제네릭과 사용자 정의 타입 가드에 관한 질문

1

168

1

제네릭 타입 제한을 하는것이 어떤 장점이 있을까요 ?

1

141

1

행운문제 닉네임 등록 신청합니다!

0

112

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

310

2

제네릭을 활용해서 정답을 맞춰보았습니다!

1

333

2

Record의 제네릭은 자동적으로 바뀌나요?

0

382

2

extends와 = 의 차이는 무엇인가요?

1

224

1