0Pricing
TypeScript Academy · Lezione

typeof, uguaglianza e restrizione tramite veridicità

Utilizzi typeof, l’uguaglianza stretta e la veridicità per restringere i tipi unione senza cast non sicuri.

typeof, uguaglianza e restrizione tramite veridicità è una lezione TypeScript Academy gratuita su CoddyKit. Questa è la lezione 1 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: restringere i tipi union ampi fino a ottenere tipi precisi usando typeof, l'uguaglianza stretta e la truthiness. Questo consente di accedere in sicurezza a proprietà e metodi.

Restringimento con typeof

typeof restringe i tipi primitivi (string, number, boolean, bigint, symbol, undefined). Lo usi per creare diramazioni sicure.

function printLen(x: string | number) {
  if (typeof x === "string") {
    console.log(x.length); // x is string
  } else {
    console.log(x.toFixed(2)); // x is number
  }
}

printLen("TS");
printLen(3.14);

Uguaglianza stretta

Preferisca ===/!== per un restringimento preciso; eviti ==, che esegue la coercizione e confonde sia le persone sia il compilatore.

function greet(x: string | null) {
  if (x !== null) {
    // x is string here
    console.log("Hello " + x.toUpperCase());
  } else {
    console.log("No name");
  }
}

greet("Ada");
greet(null);

Restringimento tramite truthiness

La truthiness restringe anch'essa i tipi, ma attenzione: "" e 0 sono falsy anche se sono valori validi. Usi controlli stretti quando deve distinguerli.

function show(v: string | 0 | "" | null | undefined) {
  if (v) {
    // v is string here (non-empty)
    console.log("value:", v);
  } else {
    // v is "", 0, null, or undefined
    console.log("empty");
  }
}

show("ok");
show("");
show(0);

Combinazione dei controlli

Combini i controlli per proteggere gli accessi annidati. Per un controllo più preciso, preferisca u !== null && u !== undefined quando 0/"" sono casi validi.

type MaybeUser = { name: string } | null | undefined;

function hi(u: MaybeUser) {
  if (u && u.name) {
    console.log("Hi " + u.name);
  } else {
    console.log("No user");
  }
}

hi({ name: "Lin" });
hi(null);

Linee guida

Linee guida:

  • Usi typeof per i tipi primitivi.
  • Usi ===/!== per evitare la coercizione.
  • La truthiness è concisa; la eviti quando le stringhe vuote o lo zero hanno un significato.

Verifica del restringimento

Verifica rapida: quale controllo restringe correttamente un valore al tipo string?

Riepilogo

Riepilogo: restringa i tipi con typeof, l'uguaglianza stretta e la truthiness. Preferisca controlli espliciti quando 0/"" sono valori validi.

Domande Frequenti

La lezione «typeof, uguaglianza e restrizione tramite veridicità» è gratuita?

Sì — il testo completo di «typeof, uguaglianza e restrizione tramite veridicità» è 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 «typeof, uguaglianza e restrizione tramite veridicità»?

Utilizzi typeof, l’uguaglianza stretta e la veridicità per restringere i tipi unione senza cast non sicuri. 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 3.

Quanto tempo richiede la lezione «typeof, uguaglianza e restrizione tramite veridicità»?

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. typeof, uguaglianza e restrizione tramite veridicità
  2. in, instanceof e unioni discriminate
  3. Completezza con never (introduzione)
← Torna a TypeScript Academy