>  기사  >  웹 프론트엔드  >  유형 도전이 가능한 TypeScript 모험 – Day Pick

유형 도전이 가능한 TypeScript 모험 – Day Pick

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-10 06:26:29425검색

안녕하세요 여러분
TypeScript에 대해 더 자세히 알아보기 위해 유형 문제를 해결하고 있습니다.

오늘은 픽에 대해 제가 배운 내용을 공유해드리고자 합니다.

- 도전 -

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

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

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

내장된 Pick 제네릭을 사용하지 않고 구현하세요.
T에서 속성 K 세트를 선택하여 유형을 구성합니다.

- 설명 -

문제는 TypeScript가 표준 유틸리티로 제공하는 Pick 유틸리티 유형의 자체 버전을 만드는 것입니다.

- 나의 솔루션 -

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

type MyPick<T, U extends keyof T> = {
  [k in U]: T[k];
};

type TodoPreview = MyPick<Todo, "title" | "completed">;

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

- 설명 -

한줄씩 설명드리겠습니다.

첫 번째 줄에서 MyPick은 T와 U가 T의 키를 확장한다는 두 가지 인수를 받습니다.

TypeScript Adventures with type-challenges – Day Pick

T: 모든 속성을 포함하는 기본 유형입니다.
U 확장 키of T: 출력 유형에 포함할 속성을 지정합니다.

keyof 소개
연장에 대하여

두 번째 줄
주어진 인수에서 지정된 속성만 추출하는 새로운 유형을 생성합니다.

TypeScript Adventures with type-challenges – Day Pick

[k in U]와 같은 매핑 유형 정보

아래에서 볼 수 있듯이 제목만 제공하여 Todo에서 설명을 제외한 새로운 유형을 생성하고 MyPick에 완성합니다.

TypeScript Adventures with type-challenges – Day Pick

행복한 코딩☀️

위 내용은 유형 도전이 가능한 TypeScript 모험 – Day Pick의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.