안녕하세요 여러분
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의 키를 확장한다는 두 가지 인수를 받습니다.
T: 모든 속성을 포함하는 기본 유형입니다.
U 확장 키of T: 출력 유형에 포함할 속성을 지정합니다.
keyof 소개
연장에 대하여
두 번째 줄
주어진 인수에서 지정된 속성만 추출하는 새로운 유형을 생성합니다.
[k in U]와 같은 매핑 유형 정보
아래에서 볼 수 있듯이 제목만 제공하여 Todo에서 설명을 제외한 새로운 유형을 생성하고 MyPick에 완성합니다.
행복한 코딩☀️
위 내용은 유형 도전이 가능한 TypeScript 모험 – Day Pick의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!