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 allowedI 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.
Sfida
FacileCrea 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
playerDirectiondi tipoDirectione assegnale il valore"up" - Dichiara una variabile denominata
currentStatedi tipoGameStatee assegnale il valore"playing" - Dichiara una variabile denominata
selectedDifficultydi tipoDifficultye 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
movePlayerconplayerDirectione stampa il risultato - Chiama
updateGameStateconcurrentStatee 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 risultatiQuesta lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Introduzione a TypeScript
1Primi passi con TS
Che cos'è TypeScript?Perché usare TypeScript?Il tuo primo codice TypeScriptProcesso di compilazione ed erroriRiepilogo: introduzione a TS4Lavorare con le funzioni
Tipizzare parametri e valori restituitiTipizzare le funzioni frecciaIl tipo restituito 'void'Parametri opzionali con '?'Valori predefiniti dei parametriTipizzare i parametri restDefinire i tipi di funzioneRiepilogo: creare funzioni tipizzate2Tipi fondamentali
Tipi di base: str, num, booleanIl tipo 'any': via di fugaIl tipo 'unknown'Lavorare con 'null' e 'undef'L'inferenza dei tipi in azioneAnnotazioni esplicite dei tipiRiepilogo: esercitazioni sui tipi fondamentali5Tipi: alias, unioni e intersezioni
Alias di tipo per i primitiviTipi unione ('|')Lavorare con i tipi unioneTipi letteraliTipi intersezione ('&')Combinare alias di tipoRiepilogo: combinazioni avanzate di tipi3Strutture dati: Array e Tuple
Array tipizzatiModificatore 'readonly' per gli arrayChe cos'è una Tuple?Dichiarare e accedere alle TupleDestrutturare le TupleTuple di sola letturaArray tipizzati multidimensionaliOperatore spread con gli arrayRiepilogo: Array e Tuple6Tipizzazione di oggetti e interfacce
Annotazioni inline dei tipi degli oggettiAlias di tipo per gli oggettiIntroduzione alle interfacceInterfacce e alias di tipo a confrontoProprietà facoltative e di sola letturaEstendere interfacce e tipiAggiungere metodi alle interfacceRiepilogo: definire le forme degli oggettiEsercitati da solo: Playground TypeScript