0Pricing
TypeScript Academy · Lezione

Tipi mappati

Impari a trasformare tipi esistenti in nuovi tipi usando i tipi mappati, per gestire con flessibilità strutture dati dinamiche

Tipi mappati è una lezione TypeScript Academy gratuita su CoddyKit. Questa è la lezione 2 di 3. 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 3 lezioni in totale.

Introduzione ai tipi mappati

Introduzione ai tipi mappati

I tipi mappati consentono di trasformare i tipi esistenti in nuovi tipi applicando operazioni a ogni proprietà di un tipo.

Sono strumenti potenti per creare strutture di tipi flessibili e riutilizzabili in TypeScript.

Tipi mappati — illustrazione 1

Che cosa sono i tipi mappati?

Che cosa sono i tipi mappati?

I tipi mappati utilizzano una sintassi come { [P in keyof T]: T[P] } per iterare sulle proprietà di un tipo T.

Esempio di base dei tipi mappati

Esempio di base dei tipi mappati

Ecco un semplice esempio di utilizzo di un tipo mappato per creare una versione di sola lettura di un tipo:

type User = {
  name: string;
  age: number;
};

type ReadonlyUser = {
  readonly [P in keyof User]: User[P];
};

Utilizzo dei tipi mappati integrati

Utilizzo dei tipi mappati integrati

TypeScript fornisce diversi tipi mappati integrati, tra cui:

  • Readonly<T>: rende di sola lettura tutte le proprietà di T.
  • Partial<T>: rende facoltative tutte le proprietà di T.
  • Required<T>: rende obbligatorie tutte le proprietà di T.
type User = {
  name: string;
  age: number;
};

// Example of Partial
const user: Partial<User> = {
  name: 'John',
};

Mappatura sulle unioni

Mappatura sulle unioni

I tipi mappati possono essere utilizzati anche con i tipi unione per creare nuovi tipi combinati:

type Status = 'active' | 'inactive';

type StatusFlags = {
  [K in Status]: boolean;
};

const flags: StatusFlags = {
  active: true,
  inactive: false,
};

Tipi mappati condizionali

Tipi mappati condizionali

È possibile utilizzare i tipi condizionali insieme ai tipi mappati per creare trasformazioni dei tipi più complesse.

type User = {
  name: string;
  age?: number;
};

type NonOptional<T> = {
  [K in keyof T]-?: T[K];
};

type RequiredUser = NonOptional<User>;

Esempio avanzato: esclusione di proprietà

Esempio avanzato: esclusione di proprietà

Ecco come creare un tipo mappato per escludere determinate proprietà:

type User = {
  id: number;
  name: string;
  password: string;
};

type PublicUser = {
  [K in keyof User as Exclude<K, 'password'>]: User[K];
};

Esercizio pratico

Esercizio pratico

Creare un tipo mappato che aggiunga il modificatore readonly a tutte le proprietà di un tipo Product. Verificarne il funzionamento dichiarando una variabile del nuovo tipo.

Riepilogo dei tipi mappati

Congratulazioni!

Ha imparato a usare i tipi mappati per trasformare dinamicamente i tipi esistenti in nuovi tipi. Si eserciti con queste tecniche per rendere il codice TypeScript ancora più potente!

Tipi mappati — illustrazione 10

Domande Frequenti

La lezione «Tipi mappati» è gratuita?

Sì — il testo completo di «Tipi mappati» è 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 3 lezioni in totale.

Cosa imparerò in «Tipi mappati»?

Impari a trasformare tipi esistenti in nuovi tipi usando i tipi mappati, per gestire con flessibilità strutture dati dinamiche 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 2 di 3.

Quanto tempo richiede la lezione «Tipi mappati»?

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. Keyof e tipi di lookup
  2. Tipi mappati
  3. Tipi intersezione e unione
← Torna a TypeScript Academy