0Pricing
TypeScript Academy · Lezione

Tipi union e literal (introduzione al narrowing di base)

Combinare i tipi con le union, usare i literal per valori esatti e applicare il narrowing di base.

Tipi union e literal (introduzione al narrowing di base) è una lezione TypeScript Academy gratuita su CoddyKit. Questa è la lezione 3 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

Obiettivo: imparare a combinare più tipi con union e a limitare i valori con i tipi letterali. Questi strumenti aiutano a creare API più sicure.

Nozioni di base sui tipi unione

I tipi unione utilizzano | per consentire uno tra diversi tipi. In questo caso: stringa o numero.

let value: string | number;
value = "hello";

value = 42;

// value = true; 
// Error, not allowed

Tipi letterali

I tipi letterali limitano i valori a opzioni precise. Sono comuni nelle configurazioni e negli enum.

let direction: "left" | "right";
direction = "left";

// direction = "up";
 // Error

Nozioni di base sul narrowing

Il narrowing verifica il tipo a runtime (ad esempio, typeof) per consentire di accedere ai membri in modo sicuro.

function printId(id: string | number) {
  if (typeof id === "string") {
    console.log(id.toUpperCase());
  } else {
    console.log(id.toFixed(2));
  }
}

printId("abc");
printId(123.456);

Unioni discriminate

Le unioni discriminate combinano tag letterali con oggetti. Il narrowing su kind consente a TypeScript di determinare il tipo corretto.

type Shape =
  | { kind: "circle"; radius: number }
  | { kind: "square"; size: number };

function area(shape: Shape): number {
  if (shape.kind === "circle") {
    return Math.PI * shape.radius ** 2;
  } else {
    return shape.size * shape.size;
  }
}

console.log(area({ kind: "circle", radius: 2 }));
console.log(area({ kind: "square", size: 3 }));

Perché usare unioni e valori letterali

Perché usare unioni e valori letterali? Rendono impossibili gli stati non validi, guidano il completamento automatico e consentono al compilatore di rilevare prima gli errori.

Verifica dei tipi unione

Verifica rapida: che cos'è un tipo unione?

Riepilogo

Riepilogo: utilizzi | per le unioni, i tipi letterali per i valori precisi e il narrowing per gestire i rami in modo sicuro. Questi strumenti rendono TS espressivo e sicuro.

Domande Frequenti

La lezione «Tipi union e literal (introduzione al narrowing di base)» è gratuita?

Sì — il testo completo di «Tipi union e literal (introduzione al narrowing di base)» è 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 union e literal (introduzione al narrowing di base)»?

Combinare i tipi con le union, usare i literal per valori esatti e applicare il narrowing di base. 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 3 di 3.

Quanto tempo richiede la lezione «Tipi union e literal (introduzione al narrowing di base)»?

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. Tipi primitivi e annotazioni
  2. Inferenza dei tipi e any vs unknown
  3. Tipi union e literal (introduzione al narrowing di base)
← Torna a TypeScript Academy