2023-03-22
타입 챌린지 - Tuple to object
타입 챌린지 Tuple to object 문제를 풀이해 보자!
풀이
배열(튜플)을 받아, 각 원소의 값을 key/value
로 갖는 오브젝트 타입을 반환하는 타입을 구현하는 문제다.
첫 풀이에서 아래와 같은 오류가 발생했다.
오류 사항
'T[number]'
에 'string | number | symbol'
을 할당할 수 없다는 오류다.
이는 string | number | symbol
만 객체의 키가 될 수 있기 때문에 발생하는 것이다.
이를 해결하기 위해선 제네릭 T를 string | number | symbol
타입을 가진 튜플이라는 것을 제한해주어야 한다.
코드
T[number]
의 의미는 T에 원소들을 유니언으로 가져오는 것을 뜻한다.