Dgroove

Corso di formazione Programmazione con TypeScript

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: 16 ore

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
    1. Javascript vs TypeScript
    2. Lo standard ECMAScript
    3. Benefici di TypeScript
    4. TypeScript con Visual Studio Code
  2. Tipi base
    1. I tipi in Javascript e in TypeScript
    2. Sintassi per i tipi
    3. Tipizzazione implicita
    4. Duck typing
    5. Arrays
    6. Il tipo “any”
    7. Casting esplicito
    8. Enumeratori
  3. Le funzioni
    1. Tipi di ritorno
    2. Funzioni anonime
    3. Parametri opzionali
    4. Parametri di default
    5. Parametri rest
    6. Funzioni callback
    7. Overloading delle funzioni
  4. Concetti avanzati riguardanti i tipi
    1. “Unione” di tipi (Union types)
    2. “Sentinelle” per i tipi (Type guards)
    3. Alias per i tipi
    4. Null e undefined
  5. Classi
    1. Proprietà
    2. Costruttori
    3. Metodi
    4. Modificatori di accesso
    5. Funzioni e proprietà statiche
    6. I namespace
  6. Interfacce
    1. Implementazione di interfacce
    2. Compilazione delle interfacce
  7. Ereditarietà
    1. Ereditarietà di classi e interfacce
    2. Overloading di metodi
    3. Membri di classe protected
    4. Classi astratte
  8. Decorators
    1. Sintassi
    2. Decoratori di classi, proprietà, metodi e parametri
  9. Generics
    1. Sintassi
    2. Utilizzo di classi generiche
    3. Vincoli per i tipi generici
    4. Interfacce generiche
  10. Programmazione asincrona
    1. Promises vs callback
    2. Async e await
  11. File di dichiarazione
    1. Utilizzo di file di dichiarazione esistenti
    2. Creazione di file di dichiarazione
  12. … e ancora:
    1. unknown
    2. Type Narrowing
    3. Generics
    4. Records
    5. Immutability
    6. Intersection types
    7. Union types
    8. Type Alias
    9. Tuples
Exit mobile version