Intro. Qualche parola su questo libro
- Struttura del libro
- A chi è rivolto questo libro?
- Convenzioni tipografiche
- Come seguire gli esempi del libro?
- Errata e altro
- Qualche parola su di me
- Ringraziamenti
- Parte 1 - Le parti “strane” di JavaScript
Capitolo 1. Per iniziare
- Cos’è JavaScript?
- A cosa serve JavaScript?
- Cosa posso costruire con JavaScript?
- Perché dovrei studiare JavaScript?
- React, Redux, ed ES6
- Devo studiare anche jQuery?
- ECMAScript, ES5, ES6 e altri termini tecnici
Capitolo 2. Prologo: i fondamenti di JavaScript.
- Stringhe, numeri, array e variabili
- Le funzioni in JavaScript
- Che cosa significa firma di una funzione?
- Metodi o funzioni?
- Uno sguardo veloce a ECMAScript 2015
Capitolo 3. Come funzionano i motori JavaScript?
- I motori JavaScript
- Global Memory nei motori JavaScript
- Global Execution Context e Call Stack
- JavaScript asincrono, Callback Queue ed Event Loop
- Che cosa significa REST API?
- Callback hell e Promises
- Promises e microtask queue
- La gestione degli errori con le Promises
- Metodi statici e Promise combinators
- Import dinamici e code splitting
- Da Promise ad async/await
- Sommario del capitolo
Capitolo 4. Closures, variabili, e affini
- Le closures in JavaScript
- Variabili globali “accidentali” in JavaScript
- Cosa significa hoisting in JavaScript?
- Hoisting in JavaScript: let e const
- Variabili globali e hoisting
- Sommario del capitolo
Capitolo 5. Tutto è un oggetto (o quasi)
- JavaScript e l’illusione delle classi
- JavaScript e Object.prototype
- JavaScript e la keyword new
- Qualche parola su toString
- Sommario del capitolo
Capitolo 6. This in JavaScript
- JavaScript: alla scoperta di “this”
- Regola numero 1 per il this in JavaScript: default binding
- Regola numero 2 per il this in JavaScript: implicit binding
- Regola numero 3 per il this in JavaScript: explicit binding
- Regola numero 4 per il this in JavaScript: new binding
- Le arrow functions e this
- Sommario del capitolo
Capitolo 7. Tipi e conversione in JavaScript.
- Tipi e primitive
- Quando un numero diventa una stringa
- Che cosa significa [object Object]?
- Non sono un numero!
- Uguale uguale oppure uguale uguale uguale?
- Primitive e oggetti
- Ricordi new in JavaScript?
- Sommario del capitolo
- Parte 2 - Lavorare con JavaScript nel browser
Capitolo 8. Modellare l’HTML con JavaScript.
- Il Document Object Model e la manipolazione del DOM
- Generare tabelle HTML con JavaScript
- Sommario del capitolo
Capitolo 9. Refactoring ed organizzazione del codice
- Refactoring da ES5 ad ES6
- Refactoring da codice procedurale a modulo
- Stili diversi ma risultato uguale: da modulo a prototype
- Da prototype a classi
- Sommario del capitolo
Capitolo 10. Lavorare con JavaScript asincrono.
- REST API ed XMLHttpRequest
- Il DOM e gli eventi
- XMLHttpRequest in azione
- Generare liste di elementi HTML con JavaScript
- L’evoluzione di JavaScript asincrono: da XMLHttpRequest a Fetch
- La gestione degli errori con Fetch
- Fetch con Async/Await
- Sommario del capitolo
Capitolo 11. JavaScript e i form.
- Alla riscoperta dei form HTML
- I form HTML in azione
- Estrarre dati da un form HTML
- Event listeners e this
- Fetch e richieste POST
- Reset dei form HTML e async/await
- Sommario del capitolo
- Parte 3 - Appendici
Soluzioni alle domande
- Capitolo 3. Come funzionano i motori JavaScript?
- Capitolo 4. Closures, variabili, e affini
- Capitolo 5. JavaScript e i prototipi
- Capitolo 6. this in JavaScript
- Capitolo 7. La conversione dei tipi in JavaScript
- Capitolo 8. Lavorare con JavaScript nel browser
- Capitolo 9. Refactoring ed organizzazione del codice
- Capitolo 10. Lavorare con JavaScript asincrono
- Capitolo 11. JavaScript e i form