Hvordan lage og bruke TypeScript-verktøytyper
TypeScript gir et sett med verktøytyper som gjør det enklere å transformere og administrere eksisterende typer. Disse innebygde verktøytypene lar utviklere manipulere typer på forskjellige måter, og hjelper til med å forenkle koden og unngå repetisjon. Denne veiledningen utforsker noen av de vanligste verktøytypene og hvordan de kan opprettes og brukes i et TypeScript-prosjekt.
Hva er TypeScript-verktøytyper?
Verktøytyper i TypeScript er forhåndsdefinerte typer som hjelper til med å transformere andre typer. De kan brukes til å lage nye typer basert på eksisterende ved enten å velge, utelate eller endre egenskaper. De spiller en viktig rolle i å opprettholde ren, gjenbrukbar kode.
Vanlig brukte TypeScript-verktøytyper
Her er noen av de mest brukte TypeScript-verktøytypene:
- Delvis<T> – Gjør alle egenskaper av typen
T
valgfrie. - Påkrevd<T> – Gjør alle egenskaper av typen
T
nødvendige. - Skrivebeskyttet<T> – Gjør alle egenskaper av typen
T
skrivebeskyttet. - Plukk<T, K> – Velger et sett med egenskaper
K
fra typenT
. - Utelat<T, K> – Fjerner et sett med egenskaper
K
fra typenT
. - Record<K, T> – Konstruerer en objekttype med nøkler av typen
K
og verdier av typenT
.
Eksempel: Bruk av delvis<T>
Partial
-verktøytypen gjør alle egenskapene til et grensesnitt valgfrie. Slik kan det brukes:
interface User {
name: string;
age: number;
email: string;
}
const updateUser = (user: Partial<User>) => {
// Update logic
};
updateUser({ name: "John" });
I dette eksemplet godtar updateUser
et argument av typen Partial<User>
, noe som betyr at bare noen av egenskapene til User
-grensesnittet kreves.
Eksempel: Bruk av Pick<T, K>
Pick
-verktøytypen lar deg velge et undersett av egenskaper fra en type:
interface User {
name: string;
age: number;
email: string;
}
type UserContactInfo = Pick<User, "name" | "email">;
const contactInfo: UserContactInfo = {
name: "John",
email: "[email protected]"
};
Her oppretter Pick<User, “name” | “email”>
en ny type UserContactInfo
med bare egenskapene name
og email
fra den opprinnelige User
grensesnitt.
Eksempel: Bruk av Utelat<T, K>
Omit
-verktøytypen fjerner spesifiserte egenskaper 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 eksemplet opprettes UserWithoutEmail
-typen ved å utelate egenskapen email
fra User
-grensesnittet.
Opprette egendefinerte verktøytyper
Egendefinerte verktøytyper kan også opprettes ved å bruke TypeScripts avanserte typefunksjoner som betingede typer, kartlagte typer og mer. Her er et enkelt eksempel på en egendefinert verktøytype som gjør alle egenskaper 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 tilpassede MyPartial
-typen fungerer på samme måte som TypeScripts innebygde Partial
-verktøytype.
Konklusjon
TypeScript-verktøytyper er en viktig funksjon for å arbeide med typer på en fleksibel og gjenbrukbar måte. Ved å utnytte disse verktøytypene kan koden gjøres mer kortfattet og vedlikeholdbar. Enten du bruker innebygde verktøytyper som Partial
, Pick
og Omit
eller oppretter egendefinerte, forbedrer de TypeScripts typesystem betydelig.