CONTATTACI

Guide per aspiranti programmatori

developer con sguardo di sfida che armeggia con due pc
Lezione 6 / 30

Crea il tuo primo “programma” in Typescript: Hello world!

Ora che abbiamo il compilatore, non ci resta che provarlo creando il nostro primo “programma” TypeScript, e per farlo realizzeremo, ovviamente, un Hello world.

Creiamo un file main.ts con il seguente codice: 

 

console.log("Hello world!");

Ehi, ma questo è normalissimo linguaggio JavaScript

Esatto: siccome non abbiamo dichiarato variabili né definito funzioni o classi, non c’è nessun bisogno di usare dichiarazioni o annotazioni di tipo, motivo per cui qui il codice TypeScript coincide al 100% con il suo compilato

Poiché questo file .ts contiene codice JavaScript, volendo, possiamo lanciarlo in Node, nonostante la sua estensione sia .ts anziché .js

 

node main.ts # -> Hello world!

Il comando gira senza problemi, ma non abbiamo fatto molta strada. Vediamo, dunque, di far girare il compilatore almeno una volta: 

 

tsc main.ts

Ora, accanto al file main.ts è apparso un nuovo file main.js, dal contenuto identico. Anche questo può essere lanciato in Node, oppure essere linkato come script in una pagina HTML. Per semplicità, in questa guida ci limiteremo a lanciare i nostri script in Node. 

Iniziamo a vedere un assaggio di come possiamo usare TypeScript per annotare i tipi coinvolti; sostituiamo il precedente contenuto di main.ts con il seguente codice: 

 

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

var greeting: string = "Hello world!"; 
log(greeting);

Vediamo rapidamente cosa dice il nostro codice TypeScript: 

  • anzitutto, definisce una funzione log che accetta un parametro message di tipo string e restituisce void (cioè assolutamente niente); 
  • poi, dichiara una variabile greeting di tipo string e vi assegna immediatamente il valore “Hello world!”
  • infine, chiama la funzione log passandole greeting come argomento. 

Rilanciando il compilatore, noteremo che ora il compilato ha questo aspetto: 

 

function log(message) { 
 console.log(message); 
} 
var greeting = "Hello world!"; 
log(greeting);

In altre parole, tutte le annotazioni di tipo (e le righe vuote) sono semplicemente scomparse, lasciando il codice JavaScript funzionante. 

Quindi, dov’è l’utilità? 

Te lo spieghiamo subito. Se ora provassimo a chiamare la funzione log passando un argomento numerico (ad esempio: log(1)), noteremmo sia in Visual Studio Code, sia lanciando tsc, che ci viene segnalato un errore: 

 

Argument of type 'number' is not assignable to parameter of type 'string'.

Il compilatore ci sta dicendo che l’argomento 1 non è compatibile con il tipo string del parametro message richiesto da log. Questo perché nella definizione di log abbiamo vincolato il tipo del suo parametro a string

E se volessimo fare in modo che log accetti parametri di più di un tipo? 

Più avanti tutto sarà rivelato. 

Piccolo distinguo non fondamentale, ma è una sfumatura interessante: il parametro è la variabile che la funzione definisce nella propria firma, mentre l’argomento è il valore che le viene passato al momento della chiamata. 

Nell’esempio di sopra, il contenuto di greeting è l’argomento, mentre message è il parametro. 

Nell’esempio abbiamo usato var al posto di const intenzionalmente. Se avessimo dichiarato la variabile usando const, TypeScript l’avrebbe tradotta comunque in var; questo è dovuto al fatto che in qualità di transpiler, tsc deve stabilire una versione di JavaScript a cui compilare, e la versione di default è es3 (ECMAScript 3), che è anche la più vecchia disponibile. Se volessimo compilare all’ultima versione di JavaScript, potremmo sfruttare il parametro –target con versione esnext:

 

tsc --target exnext main.ts

Rivelazione: il vero nome di JavaScript è ECMAScript, o meglio: JavaScript è l’implementazione più famosa di ECMAScript, che per la precisione è la specifica tecnica di JavaScript e altri linguaggi di scripting analoghi come JScript e ActionScript. 

Contattaci senza impegno per informazioni sul corso

Pagamento rateale

Valore della rata: A PARTIRE DA 115 €/mese.

Esempio di finanziamento 

Importo finanziato: € 2440 in 24 rate da € 115 – TAN fisso 9,55% TAEG 12,57% – importo totale del credito € 2841.

Il costo totale del credito comprende: interessi calcolati al TAN indicato, oneri fiscali (imposta di bollo sul contratto 16,00 euro*) addebitati sulla prima rata, costo mensile di gestione pratica € 3,90, spesa di istruttoria € 0,00, spesa per invio rendicontazione periodica cartacea € 0,98 (o spesa per invio rendicontazione periodica cartacea € 0,00), imposta di bollo su rendicontazione periodica € 0,00. Modalità di rimborso obbligatoria: addebito diretto su c/c. La scadenza delle rate è determinata dal giorno della liquidazione del contratto; la data di scadenza delle rate è prevista il giorno 15 del mese. L’importo di ciascuna rata comprende una quota di capitale crescente e interessi decrescente secondo un piano di ammortamento “alla francese”. Offerta valida dal 01/01/2024 al 31/12/2024.

Messaggio pubblicitario con finalità promozionale. Per le informazioni precontrattuali richiedere sul punto vendita il documento “Informazioni europee di base sul credito ai consumatori” (SECCI) e copia del testo contrattuale. Salvo approvazione di Sella Personal Credit S.p.A. Aulab S.r.l. opera quale intermediario del credito NON in esclusiva.

*In fase di richiesta del finanziamento verrà proposta la facoltà di selezionare, in alternativa all’imposta di bollo sul contratto di 16,00 euro, l’imposta sostitutiva, pari allo 0,25% dell’importo finanziato.

Pagamento rateale

Valore della rata: A PARTIRE DA 187 €/mese.

Esempio di finanziamento  

Importo finanziato: € 3990 in 24 rate da € 187 – TAN fisso 9,55% TAEG 12,57% – importo totale del credito € 4572.88.

Il costo totale del credito comprende: interessi calcolati al TAN indicato, oneri fiscali (imposta di bollo sul contratto 16,00 euro*) addebitati sulla prima rata, costo mensile di gestione pratica € 3,90, spesa di istruttoria € 0,00, spesa per invio rendicontazione periodica cartacea € 0,98 (o spesa per invio rendicontazione periodica cartacea € 0,00), imposta di bollo su rendicontazione periodica € 0,00. Modalità di rimborso obbligatoria: addebito diretto su c/c. La scadenza delle rate è determinata dal giorno della liquidazione del contratto; la data di scadenza delle rate è prevista il giorno 15 del mese. L’importo di ciascuna rata comprende una quota di capitale crescente e interessi decrescente secondo un piano di ammortamento “alla francese”. Offerta valida dal 01/01/2024 al 31/12/2024.

Messaggio pubblicitario con finalità promozionale. Per le informazioni precontrattuali richiedere sul punto vendita il documento “Informazioni europee di base sul credito ai consumatori” (SECCI) e copia del testo contrattuale. Salvo approvazione di Sella Personal Credit S.p.A. Aulab S.r.l. opera quale intermediario del credito NON in esclusiva.

* In fase di richiesta del finanziamento verrà proposta la facoltà di selezionare, in alternativa all’imposta di bollo sul contratto di 16,00 euro, l’imposta sostitutiva, pari allo 0,25% dell’importo finanziato.

Contattaci senza impegno per informazioni sul corso

Scopriamo insieme se i nostri corsi fanno per te. Compila il form e aspetta la chiamata di uno dei nostri consulenti.