Vai al contenuto
eLearner.app
Modulo 1 · Lezione 1 di 21/14 nel corso~10 min
Lezioni del modulo (1/2)

Tipi primitivi e annotazioni

TypeScript è un superset tipizzato di JavaScript, il che significa che aggiunge una sintassi per i tipi statici sopra la sintassi JavaScript esistente. A runtime, tutto il codice TypeScript viene compilato in puro JavaScript e i tipi scompaiono completamente durante la build.

Grazie a TypeScript, puoi rilevare errori prima che il codice venga eseguito nel browser, rendendo lo sviluppo più robusto, sicuro e scalabile.


I Tipi Primitivi

TypeScript supporta i tipi primitivi standard di JavaScript:

  • string: Rappresenta sequenze di caratteri (es. 'Alice', "Hello").
  • number: Rappresenta valori numerici, sia interi che decimali (es. 42, 3.14).
  • boolean: Rappresenta valori di verità (true o false).
  • null e undefined: Rappresentano l'assenza intenzionale o involontaria di un valore.
TS
const username: string = 'Alice';
const score: number = 100;
const isActive: boolean = true;

Annotazione delle Variabili e Inferenza

In TypeScript, possiamo aggiungere un'annotazione di tipo inserendo i due punti (:) seguiti dal tipo.

Se provi ad assegnare un valore di tipo diverso (ad esempio, assegnare una stringa ad age definita come number), il compilatore TypeScript segnalerà immediatamente un errore prima dell'esecuzione.


Il Pericolo del Tipo any

Il tipo any è un tipo speciale che indica a TypeScript di disattivare il controllo dei tipi per una determinata variabile.

TS
let data: any = 42;
data = 'Hello'; // Nessun errore!
data.nonExistentMethod(); // Nessun errore a tempo di compilazione, ma crash a runtime!

Usare any annulla tutti i vantaggi di sicurezza offerti da TypeScript. È considerata una pessima pratica da evitare quasi sempre nel codice di produzione.


Annotazione delle Funzioni e il Tipo void

Possiamo annotare sia i parametri che il valore di ritorno di una funzione:

TS
function calculateTax(price: number, taxRate: number): number {
  return price * taxRate;
}

Se una funzione non restituisce alcun valore (ad esempio, effettua solo un console.log), il suo tipo di ritorno è void:

TS
function logMessage(message: string): void {
  console.log(message);
}

Prova tu

Esercizio 1: Variabili Tipizzate

Esercizio#ts.m1.l1.e1
Tentativi: 0Caricamento…

Dichiara tre variabili tipizzate esplicitamente: username come stringa con valore 'Alice', score come numero con valore 100, e isActive come booleano con valore true. Non usare il tipo any.

Caricamento editor…
Mostra suggerimento

Usa la sintassi : string, : number, e : boolean dopo il nome di ogni variabile.

Soluzione disponibile dopo 3 tentativi

Esercizio 2: Funzione di Saluto

Esercizio#ts.m1.l1.e2
Tentativi: 0Caricamento…

Crea una funzione chiamata greet che accetta un parametro name di tipo stringa e restituisce una stringa nel formato 'Hello, ' seguito dal nome. Specifica esplicitamente sia il tipo del parametro che il tipo di ritorno.

Caricamento editor…
Mostra suggerimento

Dichiara la funzione come function greet(name: string): string { ... } e ritorna il messaggio.

Soluzione disponibile dopo 3 tentativi

Esercizio 3: Convertitore di Temperatura

Esercizio#ts.m1.l1.e3
Tentativi: 0Caricamento…

Dichiara una funzione chiamata celsiusToFahrenheit che accetta un parametro celsius di tipo numero e restituisce la temperatura equivalente in gradi Fahrenheit (numero). La formula è celsius * 9 / 5 + 32. Specifica esplicitamente sia il tipo del parametro che il tipo di ritorno.

Caricamento editor…
Mostra suggerimento

Moltiplica celsius per 9, dividi per 5, aggiungi 32 e restituisci il risultato con l'annotazione : number sulla funzione.

Soluzione disponibile dopo 3 tentativi

Esercizio 4: Calcolo dello Sconto

Esercizio#ts.m1.l1.e4
Tentativi: 0Caricamento…

Crea una funzione chiamata calculateDiscount che accetta un parametro price di tipo numero e un parametro discountPercent di tipo numero, e restituisce il prezzo finale scontato come numero. Specifica esplicitamente sia i tipi dei parametri che il tipo di ritorno.

Caricamento editor…
Mostra suggerimento

Sottrai la percentuale di sconto divisa per 100 da 1, poi moltiplica per il prezzo iniziale. Assicurati di annotare parametri e ritorno come number.

Soluzione disponibile dopo 3 tentativi