Partial, Readonly, Record, Pick, Omit
Maîtrisez les principaux types utilitaires pour remodeler les objets : Partial, Readonly, Record, Pick et Omit.
Partial, Readonly, Record, Pick, Omit est une leçon TypeScript Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 3. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage TypeScript Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours TypeScript Academy comprend 3 leçons au total.
Introduction
Objectif : remodeler les types d'objets en toute sécurité avec Partial, Readonly, Record, Pick et Omit. Ces outils suppriment le code répétitif et évitent les bogues.
Partial
Partial<T> rend toutes les propriétés facultatives : c'est idéal pour les charges utiles de mise à jour.
interface User {
id: number;
name: string;
email?: string;
}
type UserUpdate = Partial<User>;
const patch: UserUpdate = { name: "Ada" }; // only changed fields
Readonly
Readonly<T> empêche la réaffectation des propriétés : c'est idéal pour une configuration partagée.
type Config = Readonly<{ api: string; timeout: number }>;
const cfg: Config = { api: "https://api", timeout: 1000 };
// cfg.timeout = 2000; // Error: readonly
Record
Record<K,T> construit un type dont les clés proviennent de l'union K et dont les valeurs sont toutes du type T.
type Status = "idle" | "loading" | "error";
type Flags = Record<Status, boolean>;
const f: Flags = { idle: true, loading: false, error: false };
// Also works for arbitrary string keys
const scores: Record<string, number> = { math: 95, eng: 88 };
Pick et Omit
Pick sélectionne certaines propriétés ; Omit en supprime. Ces utilitaires sont idéaux pour les modèles de présentation et les DTO d'API.
interface User {
id: number;
name: string;
email?: string;
role: "user" | "admin";
}
type PublicUser = Pick<User, "id" | "name">;
type PrivateUser = Omit<User, "role">;
const pu: PublicUser = { id: 1, name: "Ada" };
const pr: PrivateUser = { id: 1, name: "Ada", email: "a@x.io" };
Conseils
Conseils :
- Combinez les utilitaires :
Readonly<Partial<T>>pour des modifications immuables. - Utilisez Record pour les mappages clé → valeur.
- Privilégiez Pick/Omit plutôt que de redéclarer des types similaires.
Vérification de l'utilitaire Record
Vérification rapide : quel utilitaire associe un ensemble de clés à un type de valeur unique ?
Récapitulatif
Récapitulatif : Partial pour les modifications, Readonly pour l'immuabilité, Record pour les mappages clé→valeur, et Pick/Omit pour remodeler rapidement les modèles.
Questions Fréquemment Posées
La leçon « Partial, Readonly, Record, Pick, Omit » est-elle gratuite ?
Oui — le texte complet de « Partial, Readonly, Record, Pick, Omit » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours TypeScript Academy, passe à CoddyKit PRO. Le cours TypeScript Academy comprend 3 leçons au total.
Qu'est-ce que j'apprendrai dans « Partial, Readonly, Record, Pick, Omit » ?
Maîtrisez les principaux types utilitaires pour remodeler les objets : Partial, Readonly, Record, Pick et Omit. Tu pratiques TypeScript Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer TypeScript Academy ?
Aucune expérience préalable n'est requise. TypeScript Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 3.
Combien de temps prend la leçon « Partial, Readonly, Record, Pick, Omit » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon TypeScript Academy ?
Oui. Chaque leçon TypeScript Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Fonctions génériques et contraintes (extends, paramètres par défaut)
- Partial, Readonly, Record, Pick, Omit
- Types keyof et d’accès indexé (introduction)