0Pricing
TypeScript Academy · Lezione

Partial e Required: gestione dell'opzionalità

Renda tutte le proprietà opzionali o obbligatorie in una sola volta.

Partial e Required: gestione dell'opzionalità è una lezione TypeScript Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento TypeScript Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso TypeScript Academy include 4 lezioni in totale.

Benvenuto

Partial rende facoltative tutte le proprietà. Required rende obbligatorie tutte le proprietà. Sono i tipi utility più utilizzati per manipolare i dati in modo flessibile.

Partial<T>

Partial rende facoltativa ogni proprietà di T. È utile per le operazioni di aggiornamento o patch, quando non si hanno tutti i campi.
interface User { id: number; name: string; email: string; }
type PartialUser = Partial<User>;
// { id?: number; name?: string; email?: string; }

Partial nelle funzioni di aggiornamento

Utilizzi Partial quando implementa funzioni di aggiornamento o unione che accettano solo i campi modificati.
function updateUser(id: number, changes: Partial<User>): User {
  const existing = findUser(id)!;
  return { ...existing, ...changes };
}

Required<T>

Required rimuove tutti i modificatori di opzionalità, rendendo obbligatoria ogni proprietà.
type RequiredUser = Required<User>;
// All properties are now required — including those that were optional

Required per la validazione della configurazione

Utilizzi Required dopo aver unito i valori predefiniti per assicurarsi che tutti i valori di configurazione siano presenti.
interface Config { host?: string; port?: number; }
const defaults: Required<Config> = { host: 'localhost', port: 3000 };
function createConfig(opts: Config): Required<Config> {
  return { ...defaults, ...opts };
}

Come viene implementato Partial

Partial utilizza un tipo mappato con il modificatore +?.
type Partial<T> = { [K in keyof T]?: T[K] };
// Equivalent to: { [K in keyof T]+?: T[K] }

Come viene implementato Required

Required utilizza un tipo mappato con il modificatore -?.
type Required<T> = { [K in keyof T]-?: T[K] };

Partial profondo

Partial, integrato nel linguaggio, è superficiale. Per gli oggetti annidati è necessario un DeepPartial ricorsivo.
type DeepPartial<T> = {
  [K in keyof T]?: T[K] extends object ? DeepPartial<T[K]> : T[K]
};

Combinare Partial e Required

Renda obbligatori alcuni campi mantenendo facoltativi gli altri, utilizzando un'intersezione.
// id required, everything else optional
type UpsertUser = Required<Pick<User, 'id'>> & Partial<Omit<User, 'id'>>;

Partial e proprietà facoltative in un'interfaccia

Dichiarare facoltative tutte le proprietà di un'interfaccia equivale ad applicare Partial, ma solo per quel tipo specifico. Partial è riutilizzabile con qualsiasi tipo.

Inferenza dei tipi con Partial

TypeScript restringe correttamente le proprietà di Partial: accedervi può restituire T[K] | undefined.
function show(u: Partial<User>) {
  if (u.name !== undefined) {
    console.log(u.name.toUpperCase()); // safe
  }
}

Verifica rapida

Quale tipo utility rende obbligatorie TUTTE le proprietà di un'interfaccia, comprese quelle che in precedenza erano facoltative?

Riepilogo

Partial rende facoltative tutte le proprietà ed è utile per patch e aggiornamenti. Required rende obbligatorie tutte le proprietà ed è utile per la validazione dopo un'unione. Entrambi sono superficiali: utilizzi versioni ricorsive per i tipi annidati.

Domande Frequenti

La lezione «Partial e Required: gestione dell'opzionalità» è gratuita?

Sì — il testo completo di «Partial e Required: gestione dell'opzionalità» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso TypeScript Academy, passa a CoddyKit PRO. Il corso TypeScript Academy include 4 lezioni in totale.

Cosa imparerò in «Partial e Required: gestione dell'opzionalità»?

Renda tutte le proprietà opzionali o obbligatorie in una sola volta. Eserciti TypeScript Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare TypeScript Academy?

Non è richiesta alcuna esperienza precedente. TypeScript Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Partial e Required: gestione dell'opzionalità»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione TypeScript Academy?

Sì. Ogni lezione TypeScript Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Partial e Required: gestione dell'opzionalità
  2. Pick e Omit: selezione delle proprietà
  3. Record: associazione delle chiavi ai tipi dei valori
  4. Readonly, Exclude, Extract, NonNullable
← Torna a TypeScript Academy