Heim >Web-Frontend >js-Tutorial >TypeScript-Abenteuer mit Typ-Herausforderungen – Tagesauswahl
Hallo zusammen.
Ich arbeite an Typherausforderungen, um tiefer in TypeScript einzutauchen.
Heute möchte ich mitteilen, was ich über den Pick gelernt habe.
interface Todo { title: string description: string completed: boolean } type TodoPreview = MyPick<Todo, 'title' | 'completed'> const todo: TodoPreview = { title: 'Clean room', completed: false, }
Implementieren Sie das integrierte Pick-Generikum, ohne es zu verwenden.
Konstruiert einen Typ, indem die Menge der Eigenschaften K aus T ausgewählt wird.
Die Herausforderung besteht darin, eine eigene Version des Pick-Dienstprogrammtyps zu erstellen, den TypeScript als Standarddienstprogramm bereitstellt.
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, };
Lassen Sie es mich Zeile für Zeile erklären.
In der ersten Zeile empfängt MyPick zwei Argumente: T und U erweitern keyof T.
T: Der Basistyp, der alle Eigenschaften enthält.
U erweitert keyof T: Gibt die Eigenschaften an, die in den Ausgabetyp einbezogen werden sollen.
Über keyof
Über Erweiterungen
In der zweiten Zeile:
Es erstellt einen neuen Typ, der nur die angegebenen Eigenschaften aus dem angegebenen Argument extrahiert.
Über zugeordnete Typen wie [k in U]
Wie Sie unten sehen können, wird ein neuer Typ, der die Beschreibung aus Todo ausschließt, erstellt, indem nur der Titel angegeben und in MyPick vervollständigt wird.
Viel Spaß beim Programmieren☀️
Das obige ist der detaillierte Inhalt vonTypeScript-Abenteuer mit Typ-Herausforderungen – Tagesauswahl. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!