0Pricing
TypeScript Academy · Leçon

Partial et Required : modifier le caractère facultatif

Rendez toutes les propriétés facultatives ou obligatoires en une seule fois

Partial et Required : modifier le caractère facultatif est une leçon TypeScript Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. 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 4 leçons au total.

Bienvenue

Partial rend toutes les propriétés facultatives. Required rend toutes les propriétés obligatoires. Ce sont les types utilitaires les plus utilisés pour manipuler les données avec souplesse.

Partial<T>

Partial rend chaque propriété de T facultative. Ce type est utile pour les opérations de mise à jour ou de correctif lorsque vous ne disposez pas de tous les champs.
interface User { id: number; name: string; email: string; }
type PartialUser = Partial<User>;
// { id?: number; name?: string; email?: string; }

Partial dans les fonctions de mise à jour

Utilisez Partial pour implémenter des fonctions de mise à jour ou de fusion qui n’acceptent que les champs modifiés.
function updateUser(id: number, changes: Partial<User>): User {
  const existing = findUser(id)!;
  return { ...existing, ...changes };
}

Required<T>

Required supprime tous les modificateurs facultatifs et rend chaque propriété obligatoire.
type RequiredUser = Required<User>;
// All properties are now required — including those that were optional

Required pour valider la configuration

Utilisez Required après la fusion des valeurs par défaut afin de garantir la présence de toutes les valeurs de configuration.
interface Config { host?: string; port?: number; }
const defaults: Required<Config> = { host: 'localhost', port: 3000 };
function createConfig(opts: Config): Required<Config> {
  return { ...defaults, ...opts };
}

Implémentation de Partial

Partial utilise un type mappé avec le modificateur +?.
type Partial<T> = { [K in keyof T]?: T[K] };
// Equivalent to: { [K in keyof T]+?: T[K] }

Implémentation de Required

Required utilise un type mappé avec le modificateur -?.
type Required<T> = { [K in keyof T]-?: T[K] };

Partial profond

Le Partial intégré est superficiel. Pour les objets imbriqués, vous avez besoin d’un DeepPartial récursif.
type DeepPartial<T> = {
  [K in keyof T]?: T[K] extends object ? DeepPartial<T[K]> : T[K]
};

Combinaison de Partial et Required

Rendez certains champs obligatoires tout en conservant les autres comme facultatifs à l’aide d’une intersection.
// id required, everything else optional
type UpsertUser = Required<Pick<User, 'id'>> & Partial<Omit<User, 'id'>>;

Partial et propriétés facultatives dans une interface

Déclarer toutes les propriétés d’une interface comme facultatives revient à appliquer Partial, mais uniquement à ce type précis. Partial est réutilisable avec n’importe quel type.

Inférence de type avec Partial

TypeScript affine correctement les propriétés de Partial : leur accès peut renvoyer T[K] | undefined.
function show(u: Partial<User>) {
  if (u.name !== undefined) {
    console.log(u.name.toUpperCase()); // safe
  }
}

Vérification rapide

Quel type utilitaire rend ALL les propriétés d’une interface obligatoires, y compris celles qui étaient auparavant facultatives ?

Récapitulatif

Partial rend toutes les propriétés facultatives (ce qui est utile pour les correctifs et les mises à jour). Required rend toutes les propriétés obligatoires (ce qui est utile pour la validation après fusion). Les deux sont superficiels : utilisez des versions récursives pour les types imbriqués.

Questions Fréquemment Posées

La leçon « Partial et Required : modifier le caractère facultatif » est-elle gratuite ?

Oui — le texte complet de « Partial et Required : modifier le caractère facultatif » 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 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Partial et Required : modifier le caractère facultatif » ?

Rendez toutes les propriétés facultatives ou obligatoires en une seule fois 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 1 sur 4.

Combien de temps prend la leçon « Partial et Required : modifier le caractère facultatif » ?

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

  1. Partial et Required : modifier le caractère facultatif
  2. Pick et Omit : sélectionner des propriétés
  3. Record : associer des clés à des types de valeurs
  4. Readonly, Exclude, Extract, NonNullable
← Retour à TypeScript Academy