Menu
Coddy logo textTech

Tipi letterali

Fa parte della sezione Introduzione a TypeScript del percorso JavaScript di Coddy. Lezione 33 di 73.

I tipi letterali ti permettono di limitare una variabile a valori esatti e specifici, anziché a categorie generiche. Invece di accettare qualsiasi stringa, puoi limitarla solo a "left", "right", "up" o "down".

Un tipo letterale usa il valore esatto come tipo stesso.

Puoi creare tipi letterali per stringhe, numeri o valori booleani:

let direction: "left" = "left";  // Only "left" is allowed
let count: 42 = 42;              // Only the number 42 is allowed
let isReady: true = true;        // Only true is allowed

I tipi letterali diventano potenti quando vengono combinati con i tipi unione, creando un insieme controllato di valori consentiti. Sono perfetti per scenari come direzioni, codici di stato o opzioni di configurazione:

type Direction = "left" | "right" | "up" | "down";
type Status = "pending" | "approved" | "rejected";

let playerMove: Direction = "up";    // Valid
let orderStatus: Status = "pending"; // Valid
// let invalid: Direction = "diagonal"; // Error!

Questo approccio ti offre la flessibilità di più opzioni mantenendo al contempo una rigorosa sicurezza dei tipi. TypeScript rileverà gli errori di battitura e i valori non validi in fase di compilazione, rendendo il tuo codice più affidabile rispetto all'uso di tipi stringa generici.

challenge icon

Sfida

Facile

Crea un alias di tipo denominato Direction per i tipi letterali "left" | "right" | "up" | "down".

Crea un alias di tipo denominato GameState per i tipi letterali "menu" | "playing" | "paused" | "gameover".

Crea un alias di tipo denominato Difficulty per i tipi letterali "easy" | "medium" | "hard".

Ora dichiara le seguenti variabili usando i tuoi alias di tipo:

  • Dichiara una variabile denominata playerDirection di tipo Direction e assegnale il valore "up"
  • Dichiara una variabile denominata currentState di tipo GameState e assegnale il valore "playing"
  • Dichiara una variabile denominata selectedDifficulty di tipo Difficulty e assegnale il valore "medium"

Crea una funzione denominata movePlayer che accetta un parametro chiamato direction di tipo Direction e restituisce una string. La funzione dovrebbe restituire un messaggio nel formato "Moving [direction]".

Crea un'altra funzione denominata updateGameState che accetta un parametro chiamato state di tipo GameState e restituisce una string. La funzione dovrebbe restituire un messaggio nel formato "Game state: [state]".

Chiama le tue funzioni con le variabili che hai creato e stampa i risultati:

  • Chiama movePlayer con playerDirection e stampa il risultato
  • Chiama updateGameState con currentState e stampa il risultato
  • Stampa il valore di selectedDifficulty

Stampa ogni risultato su una riga separata, nell'ordine specificato sopra.

Provalo tu

// TODO: Scrivi qui il tuo codice
// Crea alias di tipo per Direction, GameState e Difficulty
// Dichiara le variabili usando i tuoi alias di tipo
// Crea le funzioni movePlayer e updateGameState
// Chiama le funzioni e stampa i risultati
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Introduzione a TypeScript

Esercitati da solo: Playground TypeScript