인프런 커뮤니티 질문&답변

ChipmunkDev님의 프로필 이미지
ChipmunkDev

작성한 질문수

이펙티브 타입스크립트 스터디

선언된 인터페이스를 Map자료형의 타입으로 할당할 수 있는 방법이 있을까요..?

해결된 질문

작성

·

264

0

만약에 User라는 인터페이스가 이미 존재하는 상태에서

const userMap = new Map<?>(); 과 같은 데이터에 일반 객체형 인터페이스를 할당할수 있는 방법이 있을까용?..

답변 1

1

정재남님의 프로필 이미지
정재남
지식공유자

type ValueOf<T> = T[keyof T];
const map = new Map<keyof User, ValueOf<User>>()

이런 식으로 union 타입 정도까지는 가능하지만, 각 키와 벨류의 타입을 1:1로 딱딱 맞도록 강제하는 방법은 모르겠네요.

 

 

ChipmunkDev님의 프로필 이미지
ChipmunkDev
질문자

답변 감사합니다!

한가지만 질문을 더 드려도 괜찮을까요?

유니온까지 알려주신것과 비슷하게 구현을 해보았습니다!

만약 그럼 기존의 interface를 지우고 Map데이터에 1:1로 대응할수 있도록 타입을 짤수가 있을까요?!

정재남님의 프로필 이미지
정재남
지식공유자

불가능할 것 같습니다.

ChipmunkDev님의 프로필 이미지
ChipmunkDev

작성한 질문수

질문하기