COS’È TYPESCRIPT
TypeScript è un linguaggio di programmazione Open Source sviluppato da Microsoft. In sintesi si tratta di un’estensione della sintassi di JavaScript pensato per lo sviluppo di grandi applicazioni e quindi adatto soprattutto ad ambienti Enterprise.
Il codice TypeScript viene poi compilato come JavaScript per essere quindi normalmente eseguito da qualunque browser web.
OBIETTIVI DEL CORSO
L’obiettivo del corso è imparare a scrivere codice TypeScript per generare codice Javascript corretto e manutenibile grazie ai principi di programmazione orientata agli oggetti.
DURATA: 4 giorni
APPROCCIO DIDATTICO
Durante il corso verranno presentati gli argomenti sotto riportati mediante un approccio “evolutivo” basato sui seguenti passaggi:
-Esposizione del problema da risolvere (semplice e focalizzato sul concetto);
-Risoluzione del problema grazie all’introduzione di un nuovo concetto;
-Discussione dei vantaggi e degli svantaggi della soluzione proposta;
-Utilizzo degli svantaggi della soluzione come nuovo problema da risolvere.
PREREQUISITI: è richiesta la conoscenza dei concetti base della programmazione in un qualsiasi linguaggio ed è altamente consigliata una conoscenza (anche minima) di Javascript.
PROGRAMMA DEL CORSO
1.Introduzione a TypeScript
-Javascript vs TypeScript
-Lo standard ECMAScript
-Benefici di TypeScript
-TypeScript con Visual Studio Code
2.Tipi base
-I tipi in Javascript e in TypeScript
-Sintassi per i tipi
-Tipizzazione implicita
-Duck typing
-Arrays
-Il tipo “any”
-Casting esplicito
-Enumeratori
-Le funzioni
-Tipi di ritorno
3.Funzioni anonime
-Parametri opzionali
-Parametri di default
-Parametri rest
-Funzioni callback
-Overloading delle funzioni
4.Concetti avanzati riguardanti i tipi
-“Unione” di tipi (Union types)
-“Sentinelle” per i tipi (Type guards)
-Alias per i tipi
-Null e undefined
5.Classi
-Proprietà
-Costruttori
-Metodi
-Modificatori di accesso
-Funzioni e proprietà statiche
-I namespace
6.Interfacce
-Implementazione di interfacce
-Compilazione delle interfacce
7.Ereditarietà
-Ereditarietà di classi e interfacce
-Overloading di metodi
-Membri di classe protected
-Classi astratte
8.Decorators
-Sintassi
-Decoratori di classi, proprietà, metodi e parametri
9.Generics
-Sintassi
-Utilizzo di classi generiche
-Vincoli per i tipi generici
-Interfacce generiche
10.Programmazione asincrona
-Promises vs callback
-Async e await
11.File di dichiarazione
-Utilizzo di file di dichiarazione esistenti
-Creazione di file di dichiarazione
12.Cenni all’implementazione di design pattern con TypeScript
13.Unit testing in TypeScript