Sådan opretter og bruger du TypeScript-værktøjstyper
TypeScript giver et sæt værktøjstyper, der gør det nemmere at transformere og administrere eksisterende typer. Disse indbyggede hjælpetyper giver udviklere mulighed for at manipulere typer på forskellige måder, hvilket hjælper med at forenkle koden og undgå gentagelser. Denne vejledning udforsker nogle af de mest almindelige hjælpetyper, og hvordan de kan oprettes og bruges i et TypeScript-projekt.
Hvad er TypeScript-værktøjstyper?
Utility-typer i TypeScript er foruddefinerede typer, der hjælper med at transformere andre typer. De kan bruges til at oprette nye typer baseret på eksisterende ved enten at vælge, udelade eller ændre egenskaber. De spiller en væsentlig rolle i at opretholde ren, genbrugelig kode.
Almindelig anvendte TypeScript-værktøjstyper
Her er nogle af de mest brugte TypeScript-værktøjstyper:
- Delvis<T> – Gør alle egenskaber af typen
T
valgfri. - Påkrævet<T> – Gør alle egenskaber af typen
T
påkrævet. - Skrivebeskyttet<T> – Gør alle egenskaber af typen
T
skrivebeskyttet. - Pick<T, K> – Vælger et sæt egenskaber
K
fra typenT
. - Udelad<T, K> – Fjerner et sæt egenskaber
K
fra typenT
. - Record<K, T> – Konstruerer en objekttype med nøgler af typen
K
og værdier af typenT
.
Eksempel: Brug af delvis<T>
Hjælpetypen Partial
gør alle egenskaber for en grænseflade valgfri. Sådan kan det bruges:
interface User {
name: string;
age: number;
email: string;
}
const updateUser = (user: Partial<User>) => {
// Update logic
};
updateUser({ name: "John" });
I dette eksempel accepterer updateUser
et argument af typen Partial<User>
, hvilket betyder, at kun nogle af egenskaberne for User
-grænsefladen er nødvendige.
Eksempel: Brug af Pick<T, K>
Hjælpetypen Pick
gør det muligt at vælge et undersæt af egenskaber fra en type:
interface User {
name: string;
age: number;
email: string;
}
type UserContactInfo = Pick<User, "name" | "email">;
const contactInfo: UserContactInfo = {
name: "John",
email: "john@example.com"
};
Her opretter Pick<User, “name” | “email”>
en ny type UserContactInfo
med kun egenskaberne name
og email
fra den originale User
interface.
Eksempel: Brug af Udelad<T, K>
Hjælpetypen Udlad
fjerner specificerede egenskaber fra en type:
interface User {
name: string;
age: number;
email: string;
}
type UserWithoutEmail = Omit<User, "email">;
const user: UserWithoutEmail = {
name: "John",
age: 30
};
I dette eksempel oprettes BrugerUdenEmail
-typen ved at udelade egenskaben email
fra Bruger
-grænsefladen.
Oprettelse af brugerdefinerede hjælpeprogrammer
Brugerdefinerede hjælpetyper kan også oprettes ved hjælp af TypeScripts avancerede typefunktioner som betingede typer, tilknyttede typer og mere. Her er et simpelt eksempel på en brugerdefineret hjælpetype, der gør alle egenskaber valgfrie:
type MyPartial<T> = {
[P in keyof T]?: T[P];
};
interface User {
name: string;
age: number;
email: string;
}
const user: MyPartial<User> = {
name: "Alice"
};
Denne brugerdefinerede MyPartial
-type fungerer på samme måde som TypeScripts indbyggede Partial
-hjælpetype.
Konklusion
TypeScript-værktøjstyper er en væsentlig funktion til at arbejde med typer på en fleksibel og genbrugelig måde. Ved at udnytte disse hjælpetyper kan kode gøres mere kortfattet og vedligeholdelig. Uanset om du bruger indbyggede hjælpetyper som Partial
, Pick
og Omit
eller opretter brugerdefinerede, forbedrer de TypeScripts typesystem markant.