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:

  1. Oggetti, oggetti e ancora oggetti
    • Tipi primitivi
    • Creazione di oggetti
    • Oggetti come keyed collection
    • Reflection
    • ES 2015: classi
  2. 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)
  3. Global abatment
    • Oggetti come namespace
    • IIFE
    • Pattern module
    • ES 2015: moduli
  4. Prototype
  5. Ereditarietà
    • Ereditarietà pseudo-classica
    • Ereditarietà prototipale
    • Ereditarietà funzionale
    • ES 2015: classi e loro estensione
    • ES 2015: moduli
  6. ES2015
    • Costanti
    • Default Values
    • Arrow functions
    • Promises
  7. Cenni
    • Design patterns
    • Typescript