Recent Posts
Recent Comments
Link
Today
Total
05-08 15:34
관리 메뉴

채린씨의 티스토리

[TypeChallenges] 4. Pick (easy) 본문

FE/TypeScript

[TypeChallenges] 4. Pick (easy)

채린씨 2023. 3. 24. 22:20

문제

Implement the built-in Pick<T, K> generic without using it.

Constructs a type by picking the set of properties K from T

 

For example:

interface Todo {
  title: string
  description: string
  completed: boolean
}

type TodoPreview = MyPick<Todo, 'title' | 'completed'>

const todo: TodoPreview = {
    title: 'Clean room',
    completed: false,
}

(출처: https://github.com/type-challenges/type-challenges/blob/main/questions/00004-easy-pick/README.md)

 


나의 풀이

TypeScript의 내장 유틸리티 타입인 Pick을 직접 구현하는 문제였다!

type MyPick<T, K extends keyof T> = {
  [Key in K]: T[Key]
}

 


참고자료

1. 제네릭이란?

https://joshua1988.github.io/ts/guide/generics.html

 

제네릭 | 타입스크립트 핸드북

제네릭(Generics)의 사전적 정의 제네릭은 C#, Java 등의 언어에서 재사용성이 높은 컴포넌트를 만들 때 자주 활용되는 특징입니다. 특히, 한가지 타입보다 여러 가지 타입에서 동작하는 컴포넌트를

joshua1988.github.io

 

2. Pick이란?

https://joshua1988.github.io/ts/usage/utility.html#%EC%9E%90%EC%A3%BC-%EC%82%AC%EC%9A%A9%EB%90%98%EB%8A%94-%EC%9C%A0%ED%8B%B8%EB%A6%AC%ED%8B%B0-%ED%83%80%EC%9E%85-%EB%AA%87-%EA%B0%9C-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B

 

유틸리티 타입 | 타입스크립트 핸드북

유틸리티 타입이란? 유틸리티 타입은 이미 정의해 놓은 타입을 변환할 때 사용하기 좋은 타입 문법입니다. 유틸리티 타입을 꼭 쓰지 않더라도 기존의 인터페이스, 제네릭 등의 기본 문법으로 충

joshua1988.github.io

 

'FE > TypeScript' 카테고리의 다른 글

[TypeChallenges] 7. Readonly (easy)  (0) 2023.03.24
[TypeChallenges] 13. Hello World (warm-up)  (0) 2023.03.24
Comments