-
[type-challenges] 4_pick프로그래밍 언어/TypeScript 문제풀이 2022. 5. 22. 15:45
Q:
source : https://github.com/type-challenges/type-challenges/blob/main/questions/00004-easy-pick/README.md
interface Todo { title: string description: string completed: boolean } type TodoPreview = MyPick<Todo, 'title' | 'completed'> const todo: TodoPreview = { title: 'Clean room', completed: false, }
A:
- 인데스 타입 (index types)
동적 프로퍼티 이름을 사용하는 코드를 컴파일러가 검사할 수 있음. - <T, K extends keyof T>
이렇게 사용하는 경우는 K 를 T key값으로 이용가능하도록 사용하는 문법이다.
T에 들어온 값의 key를 뒤에서 사용할 수 있도록 설정할 때 사용합니다.
- 순회하기
{ [ P in K ] : T[P] }
K를 순회하면서 key값과 value값을 생성한다.
정답
type MyPick<T, K extends keyof T> = { [P in K]: T[P] }
목표
userId 와 sessionId 둘다 받을 수 있는 함수를 만들수 있을까?
아직 못할거 같음. 조건을 받아드리는 방법이 필요'프로그래밍 언어 > TypeScript 문제풀이' 카테고리의 다른 글
[type-challenges] 11_Tuple to Object (0) 2022.05.23 [type-challenges] 7_Readonly (0) 2022.05.22 - 인데스 타입 (index types)