Corso Superiore di JavaScript

Stilizzazione

Stilizzazione tramite l'attributo style Unità di misura nell'attributo style Errori con le unità di misura Spacchettamento dei valori delle proprietà CSS Reset degli stili tramite style Impostazione massiva degli stili Problemi di lettura degli stili Lettura delle proprietà dai file CSS Conversione dei valori letti Stilizzazione con le classi Una classe per la stilizzazione Scomodità delle classi Alternanza di stili tramite data-

Metriche degli elementi

Espansione degli elementi in CSS Elemento di test Dimensione client dell'elemento Dimensione completa dell'elemento Dimensioni dell'elemento con scorrimento Scorrimento degli elementi Modifica dello scorrimento dell'elemento Scorrimento dell'elemento fino alla fine Dispiegamento dell'elemento Larghezza della barra di scorrimento

Metriche della Finestra

Dimensioni della finestra Dimensioni della finestra con scorrimento Ottenere lo scorrimento della finestra Ottenere e modificare lo scorrimento della finestra Metodo per scorrere la finestra in una posizione Metodo per scorrere la finestra di un valore Metodo per scorrere la finestra fino a un elemento Evento di scorrimento

Collezioni Map

Introduzione Funzionalità utili Iterazione con ciclo Chiavi e valori Applicazione di Map

Collezioni Set

Introduzione Riempimento iniziale Funzionalità utili Iterazione con ciclo Conversione Rimozione duplicati da un array Ottenere senza duplicati

Pseudo-array

Introduzione Somiglianza con gli array Differenze Verifica di un array Conversione in array Tipi di pseudo-array Differenza tra i tipi

Simboli

Introduzione al tipo Symbol Descrizioni del simbolo Simboli come chiavi degli oggetti Iterazione di un oggetto con simboli Funzione in un oggetto Operazioni con oggetti nella funzione Simboli globali Ottenere il nome del simbolo Simboli ben noti

Iteratori

Oggetti iterabili Funzione iteratore Invocationi iteratore Generatori Cicli nei generatori Lavoro una tantum degli iteratori Iteratore oggetto Creazione oggetto iterabile Generatore tramite proprietà calcolata Iteratore integrato values Iteratore integrato keys Iteratore integrato entries Tre iteratori integrati Operatore spread e iteratori Iteratori integrati stringa Array cifre numero Numerazione elementi DOM Recupero dati elementi DOM

Formato JSON

Introduzione JSON in dati Dati in JSON Modifica dei dati in JSON

Archiviazione

Introduzione Archiviazione nel debugger Dati Salvataggio una tantum Sovrascrittura dei dati Rimozione dei dati Pulizia dell'archivio Numero di record Ottenere la chiave per numero Iterazione dell'archivio per indice Array di chiavi e valori dell'archivio Memorizzazione delle strutture Modifica delle strutture memorizzate Pratica

Espressioni Regolari

Introduzione Operatori di Ripetizione Parentesi di Raggruppamento Escape dei Caratteri Speciali Parentesi Graffe Limitazione della Ingordigia Gruppi di Caratteri Set di Caratteri Inversione dei Set di Caratteri Particolarità del Cirillico Caratteri Speciali all'interno dei Set Gruppi di Caratteri all'interno dei Set Caratteri Speciali-Eccezione all'interno dei Set Simbolo del Cappello all'interno dei Set Particolarità del Trattino all'interno dei Set Ignorare il Maiuscolo/Minuscolo Inizio e Fine della Riga Confine delle Parole Multiriga Comando 'o' Variabile con Espressione Regolare Metodo test Metodo search Metodo split Metodo match Gruppi di Cattura nel metodo match Match Globale MatchAll Globale Metodo exec Proprietà lastIndex Gruppi di Cattura nel metodo replace Callback nel metodo replace Gruppi di Cattura Predefiniti nel metodo replace Gruppi di Cattura nell'Espressione Regolare stessa Gruppi di Cattura Nominati Gruppi di Cattura Nominati all'interno dell'Espressione Parentesi Non Catturanti Lookahead e Lookbehind Positivo e Negativo Stringa con Espressione Regolare Flag per le Stringhe Backslash nelle Stringhe

Situazioni Eccezionali

Introduzione Tipi di situazioni emergenti Intercettazione delle eccezioni Sviluppo con try-catch Intercettazione delle eccezioni nel codice annidato Oggetto con eccezione Tipi fondamentali di eccezioni Applicazione dei tipi di eccezione Lancio delle eccezioni Lancio di vari tipi di eccezioni Lancio dei propri tipi di eccezioni Esempio di eccezione con attributi data Esempio di eccezione con JSON Rinvio delle eccezioni

Asincronia

Codice Sincrono e Asincrono Asincronia del Modello a Eventi Asincronia del Caricamento delle Immagini Situazioni Eccezionali nel Codice Asincrono

Callback Asincroni

Introduzione Passaggio asincrono del risultato al callback Passaggio di parametri al callback asincrono Gestione delle eccezioni nei callback asincroni Caricamento delle immagini Il problema del callback hell Caricamento asincrono delle immagini in un ciclo

Promesse

Introduzione alle Promise Gestione delle eccezioni Oggetto errore Gestione separata delle eccezioni Stati di una Promise Concatenamento di Promise Promise all'interno di una catena Eccezioni nelle catene di Promise Lavorare con array di Promise Creazione di Promise risolte Promisificazione del codice asincrono Il problema del promise hell Promise in stile sincrono Eccezioni in stile sincrono

Librerie

Introduzione Utilizzo CDN Svantaggi delle librerie

Strumenti

Versionamento semantico Terminale NodeJS Introduzione a npm Installazione tramite npm Forma breve di installazione Dipendenze nel file package.json Dipendenze Dev Formati delle versioni delle dipendenze Impostazioni del file package.json Creazione del file package.json Trasferimento del progetto npm File package-lock.json Aggiornamento dei pacchetti Rimozione dei pacchetti Installazione globale tramite npm Rimozione globale dei pacchetti Strumento npx Esecuzione di script tramite npm Gestore Yarn

Moduli ES

Introduzione ai moduli Attivazione dei moduli ES Installazione di Webpack Principi di funzionamento di Webpack Configurazione di Webpack Configurazione dell'avvio della build di Webpack Build di test con Webpack Collegamento del bundle al markup Creazione di un modulo ES Collegamento di un modulo ES Rinomina durante l'importazione Importazione di tutto il contenuto del modulo Esportazione predefinita Combinazione di esportazioni Importazione di tutto il contenuto con combinazione di esportazioni Esportazione di valori Valori come costanti Importazione di moduli npm Importazione dinamica Importazione multipla dinamica Conversione dei moduli CommonJS

Protocollo HTTP

Studiare il libro di testo HTTP URLSearchParams URL

Server di Test

Introduzione Utilizzo Esecuzione del Codice Generazione HTML Intestazioni di Risposta Configurazione della Porta Avvio Multiplo

Forme

Invio di moduli Metodi di invio dei moduli Invio di moduli con il metodo GET Invio di moduli con il metodo POST Richieste GET Applicazione delle richieste GET Pulsanti del modulo Invio di moduli tramite JavaScript Impedire l'invio del modulo Introduzione a FormData Metodi di FormData Iteratori di FormData

AJAX

Introduzione ad AJAX Fondamenti di fetch Codice di risposta HTTP Successo della richiesta Situazioni eccezionali Intercettazione completa degli errori Intestazioni della risposta HTTP Ottenere JSON Intestazioni della richiesta HTTP Richieste GET Richieste POST Dati tramite URLSearchParams Dati tramite FormData Invio dell'intero modulo Invio di JSON Politica CORS Trasmissione dei cookie Stile sincrono

Lavorare con Canvas

Iniziare a lavorare Disegnare linee Disegnare rettangoli Disegnare cerchi Cambiare il colore della linea Cambiare lo spessore delle linee Cicli

Ottimizzazione del Codice

Fattori di Velocità di Caricamento del Sito Risorse Disponibili Ottimizzazione delle Operazioni Ripetute Ottimizzazione della Ripetizione di Operazioni Pesanti Ottimizzazione delle Operazioni Cicliche Ottimizzazione dei Passaggi Superflui del Ciclo Ottimizzazione tramite Funzioni Integrate Scelta dell'Algoritmo Ottimale Ottimizzazione dell'Uso delle Espressioni Regolari Ottimizzazione dell'Interazione con il DOM Ottimizzazione del Consumo di Memoria Ottimizzazione della Conversione in Array Ottimizzazione dei Gestori di Eventi Ottimizzazione della Velocità a Discapito della Memoria

Dati

Immutabilità Copia di array Copia di oggetto Aggiunta di elementi in un array Rimozione di elementi da un array Modifica di elementi di array Array di oggetti Generazione di id casuale Aggiunta di elemento con id Rimozione di elemento per id Modifica di elemento per id Modifica di una proprietà per id Recupero di elemento per id