Javascript avanzato: come e perché
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.
Il programma parte dai concetti core del linguaggio (presenti fin dalle prime versioni) e accompagna fino a ES 2015 (o ES6).
Programma:
- Oggetti, oggetti e ancora oggetti
- Tipi primitivi
- Creazione di oggetti
- Oggetti come keyed collection
- Reflection
- ES 2015: classi
- Funzioni
- Anche le function sono oggetti
- Function Declaration vs Function Expression
- Invocation Patterns: method invocation pattern, function invocation pattern, constructor invocation pattern, apply invocation pattern
- Funzioni Costruttore
- Arguments
- Scope
- Closure
- Immediately Invoked Function Expressions (IIFE)
- Global abatment
- Oggetti come namespace
- IIFE
- Pattern module
- ES 2015: moduli
- Prototype
- Ereditarietà
- Ereditarietà pseudo-classica
- Ereditarietà prototipale
- Ereditarietà funzionale
- ES 2015: classi e loro estensione
- ES 2015: moduli
- ES2015
- Costanti
- Default Values
- Arrow functions
- Promises
- Cenni
- Design patterns
- Typescript