Fermer

mars 17, 2025

Manipulation de type dactylographié avec des types de clés, de typeof et de types / blogs mappés / perficient

Manipulation de type dactylographié avec des types de clés, de typeof et de types / blogs mappés / perficient


TypeScript offre des capacités de manipulation de type puissantes qui permettent aux développeurs de créer un code plus flexible et maintenable. Trois fonctionnalités clés qui permettent à ce sujet sont les types de clé, typeof et mappés. Explorons chacun d’eux avec des exemples.

clé: L’opérateur KeyOf prend un type d’objet et produit une chaîne ou un syndicat littéral numérique de ses clés.

Exemple:

Photo1

Ceci est utile pour créer des accessoires de propriété dynamique et sécurisée:

Photo2

Ici, TypeScript garantit que la clé doit être une propriété valide de l’utilisateur.

typeof: Déduction des types des valeurs

L’opérateur de type nous permet d’extraire le type de variable ou de propriété.

Exemple:

Photo3

Désormais, UserType aura la même structure que l’utilisateur, ce qui est utile lorsque vous travaillez avec des objets créés dynamiquement.

Un autre cas d’utilisation consiste à déduire les types de retour des fonctions:

Photo4

Types mappés: Transformer les types dynamiquement

Les types mappés vous permettent de créer de nouveaux types basés sur ceux existants en itérant les clés.

Exemple: Faire des propriétés en option

Photo5

Maintenant, PartialUser a toutes les propriétés de l’utilisateur, mais elles sont facultatives.

Exemple: Faire des propriétés en lecture

Image6

Maintenant, ReadOnlyUser empêche toute modification de ses propriétés.

Exemple: Création d’un type d’enregistrement

Photo7

Ici, UserPerMissions sera un objet avec des clés des valeurs USERROLS et booléennes:

Photo8

Conclusion

En tirant parti des types Keyof, TypeOf et Mapted, TypeScript permet aux développeurs d’écrire du code plus flexible et en sécurité. Ces fonctionnalités avancées aident à générer dynamiquement des types, à assurer l’exactitude et à réduire la redondance dans les définitions de type.






Source link