Cum să creați și să utilizați tipuri de utilitar TypeScript
TypeScript oferă un set de tipuri de utilitate care facilitează transformarea și gestionarea tipurilor existente. Aceste tipuri de utilitare încorporate permit dezvoltatorilor să manipuleze tipuri în diferite moduri, ajutând la simplificarea codului și la evitarea repetății. Acest ghid explorează unele dintre cele mai comune tipuri de utilitare și cum pot fi create și utilizate într-un proiect TypeScript.
Ce sunt tipurile de utilitare TypeScript?
Tipurile de utilitate din TypeScript sunt tipuri predefinite care ajută la transformarea altor tipuri. Ele pot fi folosite pentru a crea noi tipuri bazate pe cele existente fie prin alegerea, omiterea sau modificarea proprietăților. Ele joacă un rol esențial în menținerea unui cod curat și reutilizabil.
Tipuri de utilitare TypeScript utilizate frecvent
Iată câteva dintre cele mai frecvent utilizate tipuri de utilitare TypeScript:
- Parțial<T> – Face ca toate proprietățile de tip
T
să fie opționale. - Necesar<T> – Toate proprietățile de tip
T
sunt necesare. - Numai în citire<T> – Face ca toate proprietățile de tip
T
să fie doar în citire. - Alege<T, K> – Alege un set de proprietăți
K
din tipulT
. - Omite<T, K> – elimină un set de proprietăți
K
din tipulT
. - Înregistrare<K, T> – Construiește un tip de obiect cu chei de tip
K
și valori de tipT
.
Exemplu: Utilizarea parțială<T>
Tipul de utilitar Parțial
face ca toate proprietățile unei interfețe să fie opționale. Iată cum poate fi folosit:
interface User {
name: string;
age: number;
email: string;
}
const updateUser = (user: Partial<User>) => {
// Update logic
};
updateUser({ name: "John" });
În acest exemplu, updateUser
acceptă un argument de tip Parțial<User>
, adică doar unele dintre proprietățile Interfața utilizator
este necesară.
Exemplu: Folosind Pick<T, K>
Tipul de utilitar Pick
permite selectarea unui subset de proprietăți dintr-un tip:
interface User {
name: string;
age: number;
email: string;
}
type UserContactInfo = Pick<User, "name" | "email">;
const contactInfo: UserContactInfo = {
name: "John",
email: "john@example.com"
};
Aici, Pick<User, “name” | “email”>
creează un nou tip UserContactInfo
cu numai numele
și Proprietățile e-mail
din interfața inițială de Utilizator
.
Exemplu: Utilizarea Omitere<T, K>
Tipul de utilitar Omite
elimină proprietățile specificate dintr-un tip:
interface User {
name: string;
age: number;
email: string;
}
type UserWithoutEmail = Omit<User, "email">;
const user: UserWithoutEmail = {
name: "John",
age: 30
};
În acest exemplu, tipul UserWithoutEmail
este creat prin omiterea proprietății e-mail
din interfața Utilizator
.
Crearea de tipuri de utilitare personalizate
De asemenea, tipurile de utilitare personalizate pot fi create utilizând caracteristicile avansate ale TypeScript, cum ar fi tipurile condiționate, tipurile mapate și multe altele. Iată un exemplu simplu de tip de utilitar personalizat care face ca toate proprietățile să fie opționale:
type MyPartial<T> = {
[P in keyof T]?: T[P];
};
interface User {
name: string;
age: number;
email: string;
}
const user: MyPartial<User> = {
name: "Alice"
};
Acest tip personalizat MyPartial
funcționează similar cu tipul de utilitar Parțial
încorporat în TypeScript.
Concluzie
Tipurile de utilitate TypeScript sunt o caracteristică esențială pentru a lucra cu tipuri într-un mod flexibil și reutilizabil. Prin valorificarea acestor tipuri de utilitate, codul poate deveni mai concis și mai ușor de întreținut. Indiferent dacă folosești tipuri de utilitare încorporate, cum ar fi Parțial
, Alege
și Omite
sau creează altele personalizate, acestea îmbunătățește semnificativ sistemul de tipări TypeScript.