varVariabile con scoping a livello di funzione.
1. Variabile
  1. Cos'è: La keyword "var" in JavaScript è utilizzata per dichiarare una variabile con scoping a livello di funzione o globale.
  2. A cosa serve: Viene utilizzata per creare e inizializzare variabili in JavaScript, permettendo di allocare spazio in memoria per memorizzare valori.
  3. Quando usarlo: Può essere usato per dichiarare variabili, ma in JavaScript moderno è generalmente preferibile utilizzare "let" o "const" per un migliore controllo dello scope.
letVariabile con scoping a livello di blocco.
1. Variabile
  1. Cos'è: La keyword "let" in JavaScript è utilizzata per dichiarare una variabile con scoping a livello di blocco.
  2. A cosa serve: Viene utilizzata per dichiarare variabili in JavaScript che sono limitate allo scope del blocco in cui vengono dichiarate (ad esempio, dentro un ciclo o un'istruzione...
  3. Quando usarlo: Utilizza "let" quando hai bisogno di dichiarare una variabile che può essere riassegnata e che deve essere visibile solo all'interno di un determinato blocco di codice.
constVariabile con scoping a livello di blocco e valore costante.
1. Variabile
  1. Cos'è: La keyword "const" in JavaScript viene utilizzata per dichiarare variabili il cui valore non può essere riassegnato dopo l'inizializzazione.
  2. A cosa serve: Viene utilizzata per dichiarare variabili con scoping di blocco, il cui valore è costante e non può essere cambiato una volta assegnato.
  3. Quando usarlo: Utilizza "const" quando hai bisogno di dichiarare variabili che non devono essere riassegnate, come costanti o riferimenti a oggetti e array che non cambiano di...
numberTipo di dato numerico che rappresenta sia interi che numeri in virgola mobile.
2. Tipo di Dato
  1. Cos'è: "number" in JavaScript è un tipo di dato primitivo che rappresenta valori numerici, inclusi interi e numeri in virgola mobile.
  2. A cosa serve: Viene utilizzato per rappresentare e manipolare valori numerici in JavaScript, permettendo calcoli matematici e operazioni aritmetiche.
  3. Quando usarlo: Si usa quando si ha bisogno di lavorare con qualsiasi tipo di valore numerico, sia esso intero o decimale.
StringRappresenta una sequenza di caratteri testuali, immutabile, utilizzata per gestire testi.
2. Tipo di Dato
  1. Cos'è: Il tipo di dato `String` in JavaScript rappresenta una sequenza di caratteri testuali.
  2. A cosa serve: Le stringhe vengono utilizzate per rappresentare e manipolare testo.
  3. Quando usarlo: Si utilizza il tipo `String` ogni volta che è necessario lavorare con dati testuali, come nomi, descrizioni, frasi o parole.
booleanTipo di dato booleano, con due valori possibili: vero o falso.
2. Tipo di Dato
  1. Cos'è: Un tipo di dato boolean in JavaScript rappresenta un valore logico che può essere solo "true" (vero) o "false" (falso).
  2. A cosa serve: Viene utilizzato per rappresentare valori binari (vero o falso), tipicamente in operazioni logiche, condizionali, cicli, e altre strutture di controllo.
  3. Quando usarlo: Il tipo di dato boolean è usato ogni volta che è necessario verificare una condizione, come nei controlli condizionali (if, else, while, ecc.), o per rappresentare lo...
objectTipo di dato complesso che rappresenta collezioni di proprietà.
2. Tipo di Dato
  1. Cos'è: In JavaScript, un "object" è un tipo di dato complesso che consente di memorizzare collezioni di proprietà e valori.
  2. A cosa serve: Gli oggetti sono usati per rappresentare strutture complesse di dati, come modelli di entità, record di database, o configurazioni.
  3. Quando usarlo: Gli oggetti sono utilizzati quando si desidera rappresentare collezioni di proprietà correlate o modelli di dati complessi.
arrayTipo di dato complesso per memorizzare una collezione ordinata di elementi
2. Tipo di Dato
  1. Cos'è: Un array in JavaScript è un tipo di dato complesso che permette di memorizzare una collezione ordinata di elementi, che possono essere di qualsiasi tipo (numeri, stringhe,...
  2. A cosa serve: Gli array vengono utilizzati per gestire liste di elementi o dati correlati, come elenchi di nomi, numeri o oggetti, facilitando l'accesso e la manipolazione di questi dati...
  3. Quando usarlo: Gli array sono usati quando è necessario lavorare con un insieme di dati ordinati o una sequenza di elementi, dove ciascun elemento può essere identificato tramite un...
FunctionTipo di dato che rappresenta una funzione, ovvero un blocco di codice eseguibile che può essere richiamato.
2. Tipo di Dato
  1. Cos'è: In JavaScript, il tipo di dato `function` rappresenta una funzione, ovvero un blocco di codice che può essere definito e successivamente richiamato per eseguire un'operazione...
  2. A cosa serve: Le funzioni vengono utilizzate per organizzare il codice, rendendolo riutilizzabile e modulare.
  3. Quando usarlo: Le funzioni si utilizzano quando si ha bisogno di eseguire un'operazione specifica o un gruppo di operazioni in modo ripetibile, o quando è necessario astrarre e...
undefinedValore predefinito per variabili non inizializzate o assenti.
2. Tipo di Dato
  1. Cos'è: `undefined` è un tipo di dato primitivo in JavaScript, che rappresenta il valore di una variabile che è stata dichiarata ma non inizializzata o di una proprietà inesistente.
  2. A cosa serve: Viene utilizzato per indicare l'assenza di un valore iniziale in una variabile o per segnalare che un oggetto o una proprietà non esiste.
  3. Quando usarlo: `undefined` viene automaticamente assegnato alle variabili dichiarate ma non inizializzate, oppure può essere restituito quando si tenta di accedere a proprietà non...
nullValore intenzionale che rappresenta l'assenza di un oggetto o di un valore.
2. Tipo di Dato
  1. Cos'è: `null` è un tipo di dato primitivo in JavaScript che rappresenta intenzionalmente l'assenza di un valore o di un oggetto.
  2. A cosa serve: Viene utilizzato per indicare esplicitamente che una variabile o proprietà non ha alcun valore assegnato o che un oggetto è vuoto.
  3. Quando usarlo: Usa `null` quando vuoi indicare esplicitamente che un oggetto o un valore è assente, ad esempio quando cancelli un riferimento a un oggetto o quando un valore non è...
symbolTipo di dato primitivo utilizzato per identificatori unici.
2. Tipo di Dato
  1. Cos'è: `symbol` è un tipo di dato primitivo introdotto in ECMAScript 6 (ES6), che rappresenta un identificatore unico.
  2. A cosa serve: I `symbol` vengono utilizzati principalmente come chiavi uniche per le proprietà di un oggetto, evitando conflitti con altre proprietà o chiavi, soprattutto quando si lavora con...
  3. Quando usarlo: Usa i `symbol` quando hai bisogno di identificatori unici per le proprietà di un oggetto o quando vuoi evitare collisioni tra le chiavi degli oggetti.
BigIntTipo di dato per rappresentare numeri interi di grandi dimensioni.
2. Tipo di Dato
  1. Cos'è: `BigInt` è un tipo di dato primitivo introdotto in ECMAScript 2020 (ES11) che permette di rappresentare numeri interi più grandi di quelli che possono essere rappresentati con il...
  2. A cosa serve: Viene utilizzato quando sono necessari numeri interi più grandi di 2 53 -1, il limite massimo per il tipo `Number` in JavaScript.
  3. Quando usarlo: Usa `BigInt` quando devi lavorare con numeri interi molto grandi o molto piccoli, oltre il limite di sicurezza dei `Number` (±2 53 -1).
MapStruttura dati che memorizza coppie chiave-valore, dove le chiavi possono essere di qualsiasi tipo.
2. Tipo di Dato
  1. Cos'è: Il tipo di dato `Map` in JavaScript è una struttura dati che memorizza coppie chiave-valore.
  2. A cosa serve: Le `Map` vengono utilizzate per memorizzare dati associati a chiavi in modo più potente rispetto agli oggetti.
  3. Quando usarlo: Si utilizza una `Map` quando è necessario gestire una collezione di dati con chiavi che possono essere di qualsiasi tipo, oppure quando si vuole mantenere l'ordine di...
SetStruttura dati che memorizza valori unici, senza consentire duplicati.
2. Tipo di Dato
  1. Cos'è: Il tipo di dato `Set` in JavaScript è una struttura dati che consente di memorizzare **valori unici** di qualsiasi tipo, senza duplicati.
  2. A cosa serve: Un `Set` è utile quando è necessario memorizzare una collezione di valori unici, evitando duplicati.
  3. Quando usarlo: Si utilizza un `Set` quando è necessario mantenere una collezione di elementi senza duplicati, oppure quando si vogliono eliminare i duplicati da una struttura come un...
DateTipo di dato utilizzato per lavorare con date e orari in JavaScript.
2. Tipo di Dato
  1. Cos'è: Il tipo di dato `Date` in JavaScript è un oggetto utilizzato per rappresentare e gestire **date e orari**.
  2. A cosa serve: L'oggetto `Date` viene utilizzato per creare, manipolare e formattare date e orari.
  3. Quando usarlo: Si utilizza il tipo `Date` quando è necessario lavorare con informazioni legate a data e ora, come la gestione di calendari, pianificazioni di eventi, calcoli di...
SetStruttura dati che memorizza valori unici, senza consentire duplicati.
2. Tipo di Dato
  1. Cos'è: Il tipo di dato `Set` in JavaScript è una struttura dati che consente di memorizzare **valori unici** di qualsiasi tipo, senza duplicati.
  2. A cosa serve: Un `Set` è utile quando è necessario memorizzare una collezione di valori unici, evitando duplicati.
  3. Quando usarlo: Si utilizza un `Set` quando è necessario mantenere una collezione di elementi senza duplicati, oppure quando si vogliono eliminare i duplicati da una struttura come un...
RegExpRappresenta un'espressione regolare, utilizzata per la ricerca e manipolazione di pattern testuali.
2. Tipo di Dato
  1. Cos'è: Il tipo di dato `RegExp` in JavaScript rappresenta un'espressione regolare, una sequenza di caratteri che definisce un pattern di ricerca.
  2. A cosa serve: Le espressioni regolari servono a cercare, validare e manipolare pattern all'interno di stringhe.
  3. Quando usarlo: Si utilizza il tipo `RegExp` quando è necessario identificare o operare su pattern testuali complessi, come cercare ripetizioni di caratteri, validare input dell'utente...
WeakMapStruttura dati simile a `Map`, con alcune differenze.
2. Tipo di Dato
  1. Cos'è: `WeakMap` è una struttura dati in JavaScript che memorizza coppie chiave-valore, dove le chiavi devono essere oggetti e i riferimenti a tali chiavi sono deboli.
  2. A cosa serve: `WeakMap` viene utilizzato quando si vuole associare informazioni supplementari ad oggetti senza impedire che questi vengano rimossi dalla memoria quando non sono più utilizzati...
  3. Quando usarlo: Si utilizza `WeakMap` quando si vuole memorizzare dati legati ad oggetti senza influire sulla loro gestione di memoria.
WeakSetStruttura dati simile a `Set`, che memorizza solo oggetti come valori e con riferimenti deboli.
2. Tipo di Dato
  1. Cos'è: `WeakSet` è una struttura dati in JavaScript simile a `Set`, ma memorizza esclusivamente oggetti come valori e i riferimenti a tali oggetti sono deboli.
  2. A cosa serve: `WeakSet` viene utilizzato per memorizzare oggetti in modo che possano essere automaticamente rimossi dalla memoria quando non più utilizzati.
  3. Quando usarlo: Si utilizza `WeakSet` quando si ha bisogno di un insieme di oggetti in cui la gestione della memoria è automatica.
AddizioneOperatore che somma due operandi o concatena stringhe.
3. Operatore
  1. Cos'è: L'operatore di addizione (`+`) in JavaScript è utilizzato per sommare due numeri o per concatenare due stringhe.
  2. A cosa serve: Viene utilizzato per eseguire operazioni aritmetiche su numeri o per concatenare stringhe.
  3. Quando usarlo: Usa l'operatore di addizione per sommare numeri o per unire (concatenare) stringhe.
SottrazioneOperatore aritmetico per la sottrazione di valori numerici.
3. Operatore
  1. Cos'è: L'operatore di sottrazione (-) in JavaScript è un operatore aritmetico binario che sottrae il secondo operando dal primo.
  2. A cosa serve: Viene utilizzato per eseguire operazioni di sottrazione tra numeri, calcolare differenze e gestire operazioni matematiche in generale.
  3. Quando usarlo: Si utilizza quando è necessario calcolare la differenza tra due numeri, decrementare valori in combinazione con l'assegnazione, effettuare calcoli matematici complessi o...
MoltiplicazioneOperatore aritmetico per la moltiplicazione di valori numerici.
3. Operatore
  1. Cos'è: L'operatore di moltiplicazione (*) in JavaScript è un operatore aritmetico binario che moltiplica due operandi, restituendo il loro prodotto.
  2. A cosa serve: Viene utilizzato per eseguire operazioni di moltiplicazione tra numeri, calcolare prodotti e gestire calcoli matematici che richiedono moltiplicazione.
  3. Quando usarlo: Si utilizza quando è necessario calcolare il prodotto tra due o più numeri, scalare valori come nei calcoli percentuali, effettuare calcoli matematici complessi o...
DivisioneOperatore aritmetico per la divisione di valori numerici.
3. Operatore
  1. Cos'è: L'operatore di divisione (/) in JavaScript è un operatore aritmetico binario che divide il primo operando (dividendo) per il secondo operando (divisore).
  2. A cosa serve: Viene utilizzato per eseguire operazioni di divisione tra numeri, calcolare quozienti e gestire operazioni matematiche che richiedono divisione.
  3. Quando usarlo: Si utilizza quando è necessario calcolare il risultato della divisione tra due numeri, convertire unità di misura, calcolare proporzioni e rapporti, effettuare scaling...
ModuloOperatore aritmetico per il calcolo del resto della divisione tra due numeri.
3. Operatore
  1. Cos'è: L'operatore modulo (%) in JavaScript restituisce il resto della divisione tra due numeri.
  2. A cosa serve: Viene utilizzato per calcolare il resto di una divisione, verificare se un numero è pari o dispari, implementare cicli circolari, limitare numeri entro un range e creare pattern...
  3. Quando usarlo: Si utilizza quando è necessario determinare la divisibilità tra numeri, implementare algoritmi ciclici, gestire rotazioni e cicli, creare distribuzioni uniformi o...
EsponenziazioneOperatore aritmetico per il calcolo della potenza di un numero.
3. Operatore
  1. Cos'è: L'operatore di esponenziazione (**) in JavaScript è un operatore aritmetico binario che eleva il primo operando (base) alla potenza del secondo operando (esponente).
  2. A cosa serve: Viene utilizzato per calcolare potenze di numeri, implementare formule matematiche, calcolare crescite esponenziali, eseguire calcoli geometrici e implementare algoritmi...
  3. Quando usarlo: Si utilizza quando è necessario calcolare quadrati, cubi e altre potenze, implementare formule matematiche complesse, calcolare crescite composte, eseguire calcoli...
IncrementoOperatore aritmetico per aumentare il valore di una variabile di una unità.
3. Operatore
  1. Cos'è: L'operatore di incremento (++) in JavaScript è un operatore unario che aumenta il valore di una variabile di una unità.
  2. A cosa serve: L'operatore viene utilizzato per incrementare contatori, gestire cicli iterativi, implementare sequenze numeriche, aggiornare indici di array e gestire progressioni aritmetiche.
  3. Quando usarlo: Si utilizza quando è necessario incrementare variabili in cicli `for`, gestire conteggi progressivi, implementare contatori, aggiornare posizioni in strutture dati e...
DecrementoOperatore unario che diminuisce di una unità il valore di una variabile numerica.
3. Operatore
  1. Cos'è: L'operatore di decremento (--), in JavaScript, è un operatore unario che riduce il valore di una variabile numerica di 1.
  2. A cosa serve: Viene utilizzato per ridurre il valore di una variabile di un'unità.
  3. Quando usarlo: Si utilizza quando è necessario diminuire progressivamente il valore di una variabile, specialmente in contesti come cicli, iterazioni o conteggi alla rovescia.
AssegnamentoOperatore che assegna un valore a una variabile.
3. Operatore
  1. Cos'è: L'operatore di assegnamento (=) in JavaScript è un operatore che assegna un valore a una variabile.
  2. A cosa serve: Viene utilizzato per assegnare valori a variabili.
  3. Quando usarlo: Si utilizza quando è necessario dare un valore iniziale a una variabile o aggiornare il valore di una variabile esistente.
Uguaglianza non strettaConfronta due valori verificandone l'uguaglianza dopo la conversione implicita di tipo.
3. Operatore
  1. Cos'è: L'operatore di uguaglianza non stretta (==) in JavaScript è un operatore di confronto che verifica se due valori sono uguali, applicando una conversione implicita di tipo...
  2. A cosa serve: Viene utilizzato per confrontare due valori e verificare se sono considerati equivalenti dal punto di vista del contenuto, anche se appartengono a tipi diversi.
  3. Quando usarlo: Si utilizza quando è necessario confrontare valori che potrebbero essere di tipi diversi, ma si desidera comunque sapere se il loro contenuto è equivalente dopo la...
Uguaglianza StrettaConfronta sia il valore che il tipo dei due operandi senza applicare la coercizione implicita.
3. Operatore
  1. Cos'è: L'operatore di uguaglianza stretta (`===`) in JavaScript è un operatore di confronto che verifica se due valori sono identici, senza applicare la coercizione di tipo.
  2. A cosa serve: Viene utilizzato per confrontare due valori verificando sia il loro contenuto che il loro tipo.
  3. Quando usarlo: Si utilizza quando è necessario confrontare valori in modo rigoroso, assicurandosi che i due operandi abbiano lo stesso valore **e** lo stesso tipo.
Disuguaglianza non strettaVerifica se due valori sono diversi, applicando la conversione implicita di tipo se necessario.
3. Operatore
  1. Cos'è: L'operatore di disuguaglianza non stretta (`!=`) in JavaScript confronta due valori e verifica se **non sono uguali**, applicando la **coercizione di tipo** se necessario.
  2. A cosa serve: Viene utilizzato per verificare se due valori sono diversi tra loro, anche se appartengono a tipi differenti.
  3. Quando usarlo: Si utilizza quando è necessario verificare la disuguaglianza tra valori di tipi diversi, oppure quando si vuole ottenere una risposta flessibile, permettendo al...
Disuguaglianza StrettaConfronta sia il valore che il tipo.
3. Operatore
  1. Cos'è: L'operatore di disuguaglianza stretta (`!==`) in JavaScript confronta due valori verificando se **non sono uguali** sia nel valore che nel tipo, senza applicare la coercizione di...
  2. A cosa serve: Viene utilizzato per confrontare due valori in modo rigoroso, assicurandosi che siano considerati disuguali se differiscono sia per valore che per tipo.
  3. Quando usarlo: Si utilizza quando è necessario un confronto preciso tra due valori, garantendo che il confronto verifichi sia il valore che il tipo dei due operandi.
AND LogicoValuta le espressioni e restituisce il primo valore falsy o l'ultimo valore truthy.
3. Operatore
  1. Cos'è: L'operatore AND logico (`&&`) in JavaScript è utilizzato per valutare due o più espressioni.
  2. A cosa serve: Serve a eseguire operazioni logiche, verificando se più condizioni sono tutte vere.
  3. Quando usarlo: Utilizzalo quando devi verificare che tutte le condizioni siano vere per eseguire una determinata operazione, come ad esempio controllare che un utente sia autenticato e...
OR LogicoValuta le espressioni e restituisce il primo valore truthy o l'ultimo valore falsy.
3. Operatore
  1. Cos'è: L'operatore OR logico (`||`) in JavaScript è utilizzato per valutare due o più espressioni.
  2. A cosa serve: Serve a verificare se almeno una tra le condizioni è vera.
  3. Quando usarlo: Utilizzalo quando vuoi che un'operazione venga eseguita se almeno una tra le condizioni è vera, come ad esempio verificare se un utente ha inserito almeno una delle...
NOT LogicoInverte il valore di verità di un'espressione.
3. Operatore
  1. Cos'è: L'operatore NOT logico (`!`) in JavaScript è utilizzato per invertire il valore di verità di un'espressione.
  2. A cosa serve: Serve a verificare la negazione di una condizione.
  3. Quando usarlo: Utilizzalo quando vuoi negare una condizione o verificare se un valore non soddisfa una determinata condizione.
Operatore TernarioEsegue un'operazione in base a una condizione.
3. Operatore
  1. Cos'è: L'operatore ternario (`?
  2. A cosa serve: Serve a scrivere espressioni condizionali compatte, simili a un'istruzione `if-else`, ma in una sola riga di codice.
  3. Quando usarlo: Utilizzalo quando hai bisogno di una semplice valutazione condizionale che può essere espressa in una singola riga.
Operatore di Concatenazione OpzionaleAccesso sicuro a proprietà annidate senza causare errori.
3. Operatore
  1. Cos'è: L'operatore di concatenazione opzionale (`?.`) in JavaScript consente di accedere in modo sicuro a proprietà di oggetti annidati.
  2. A cosa serve: Serve a prevenire errori durante l'accesso a proprietà annidate di oggetti che potrebbero non esistere, fornendo un modo sicuro per verificare la presenza di una proprietà prima...
  3. Quando usarlo: Utilizzalo quando lavori con oggetti annidati o strutture di dati complesse in cui una o più proprietà potrebbero non essere definite.
Operatore di Coalescenza NullaRestituisce il primo operando che non è null o undefined.
3. Operatore
  1. Cos'è: L'operatore di coalescenza nulla (`??`) in JavaScript restituisce il primo operando che non è `null` o `undefined`.
  2. A cosa serve: Serve a gestire valori opzionali, evitando che espressioni restituiscano `null` o `undefined` in caso di assenza di un valore.
  3. Quando usarlo: Utilizzalo quando vuoi assegnare un valore di default solo se una variabile è `null` o `undefined`, senza sostituire valori "falsy" come `0`, `false`, o stringhe vuote.
Operatore di Diffusione (Spread)Espande elementi di array o proprietà di oggetti.
3. Operatore
  1. Cos'è: L'operatore di diffusione (`...`) in JavaScript permette di espandere elementi di array o proprietà di oggetti.
  2. A cosa serve: Serve a lavorare con array e oggetti in modo più conciso.
  3. Quando usarlo: Utilizzalo quando hai bisogno di copiare array o oggetti, concatenare array, aggiungere elementi a un array o unire oggetti.
Operatore typeofRestituisce il tipo di dato di un'espressione.
3. Operatore
  1. Cos'è: L'operatore `typeof` in JavaScript restituisce una stringa che indica il tipo di dato di un'espressione o variabile.
  2. A cosa serve: Serve a determinare il tipo di una variabile o di un'espressione.
  3. Quando usarlo: Utilizzalo quando vuoi verificare il tipo di una variabile per garantire che il codice funzioni correttamente con dati di tipi diversi.
Operatore instanceofVerifica se un oggetto è un'istanza di una determinata classe o costruttore.
3. Operatore
  1. Cos'è: L'operatore `instanceof` in JavaScript verifica se un oggetto è un'istanza di una determinata classe o è stato creato tramite una funzione costruttore specifica.
  2. A cosa serve: Serve a controllare se un oggetto è un'istanza di una classe specifica, inclusi oggetti creati tramite funzioni costruttore personalizzate o classi native di JavaScript.
  3. Quando usarlo: Utilizzalo quando hai bisogno di verificare se un oggetto appartiene a una gerarchia di classi o è stato creato tramite un costruttore specifico.
ifEsegue un blocco di codice solo se una condizione è vera.
4. Controllo del Flusso
  1. Cos'è: L'istruzione `if` in JavaScript permette di eseguire un blocco di codice solo se una determinata condizione è vera.
  2. A cosa serve: Serve a controllare il flusso del programma, eseguendo determinate operazioni solo quando una condizione specifica è soddisfatta.
  3. Quando usarlo: Utilizzalo quando vuoi eseguire codice solo se una determinata condizione è vera.
elseEsegue un blocco di codice se la condizione dell'if è falsa.
4. Controllo del Flusso
  1. Cos'è: L'istruzione `else` viene utilizzata per eseguire un blocco di codice quando la condizione di un'istruzione `if` è falsa.
  2. A cosa serve: Serve a gestire situazioni in cui una condizione `if` non è vera, fornendo un percorso alternativo nel flusso del programma.
  3. Quando usarlo: Utilizzalo quando vuoi definire un comportamento di default che viene eseguito se le condizioni specificate non sono soddisfatte.
else ifVerifica condizioni aggiuntive se le precedenti sono false.
4. Controllo del Flusso
  1. Cos'è: L'istruzione `else if` consente di specificare condizioni aggiuntive che vengono verificate solo se le precedenti sono false.
  2. A cosa serve: Serve a gestire situazioni in cui esistono più condizioni possibili.
  3. Quando usarlo: Utilizzalo quando hai bisogno di gestire più di due percorsi condizionali nel flusso del programma.
switchEsegue un blocco di codice in base al valore di un'espressione.
4. Controllo del Flusso
  1. Cos'è: L'istruzione `switch` consente di eseguire blocchi di codice diversi in base al valore di un'espressione.
  2. A cosa serve: Serve a sostituire lunghe catene di `else if` quando si desidera confrontare il valore di una variabile con diversi casi possibili.
  3. Quando usarlo: Utilizzalo quando hai più condizioni basate sullo stesso valore e desideri gestire casi multipli in modo organizzato.
breakInterrompe un ciclo o una struttura di controllo del flusso.
4. Controllo del Flusso
  1. Cos'è: L'istruzione `break` in JavaScript viene utilizzata per interrompere immediatamente l'esecuzione di un ciclo (`for`, `while`, `do...while`) o di una struttura di controllo del...
  2. A cosa serve: Serve a interrompere l'esecuzione di un ciclo o blocco quando una determinata condizione è soddisfatta.
  3. Quando usarlo: Utilizzalo quando vuoi uscire da un ciclo in risposta a una condizione specifica o per interrompere l'esecuzione di un blocco `switch` una volta trovato un caso...
continueSalta l'iterazione corrente di un ciclo e passa alla successiva.
4. Controllo del Flusso
  1. Cos'è: L'istruzione `continue` in JavaScript viene utilizzata per interrompere l'iterazione corrente di un ciclo (`for`, `while`, `do...while`) e passare immediatamente all'iterazione...
  2. A cosa serve: Serve a saltare l'esecuzione di una parte di un ciclo quando una condizione è soddisfatta, evitando il resto delle istruzioni nell'iterazione corrente.
  3. Quando usarlo: Utilizzalo quando vuoi saltare una determinata iterazione di un ciclo, continuando con le successive.
returnTermina l'esecuzione di una funzione e restituisce un valore.
4. Controllo del Flusso
  1. Cos'è: L'istruzione `return` in JavaScript termina immediatamente l'esecuzione di una funzione e restituisce un valore specificato al chiamante.
  2. A cosa serve: Serve a uscire da una funzione e restituire un valore al chiamante.
  3. Quando usarlo: Utilizzalo per interrompere l'esecuzione di una funzione quando hai ottenuto il risultato desiderato o quando una condizione specifica è soddisfatta.
forCiclo iterativo per ripetere un blocco di codice un numero definito di volte.
5. Cicli
  1. Cos'è: Il ciclo `for` in JavaScript è una struttura di controllo che permette di eseguire ripetutamente un blocco di codice finché una condizione è vera.
  2. A cosa serve: Viene utilizzato per iterare su array, numeri o altre strutture dati quando si conosce il numero di ripetizioni o si vuole controllare manualmente l'indice.
  3. Quando usarlo: Si usa quando è necessario ripetere un'operazione più volte con un contatore o un indice definito, oppure quando si deve iterare su elementi di una collezione con un...
whileCiclo iterativo che continua finché la condizione è vera.
5. Cicli
  1. Cos'è: Il ciclo `while` in JavaScript esegue un blocco di codice ripetutamente finché la condizione specificata è vera.
  2. A cosa serve: Serve a ripetere operazioni quando non si conosce a priori il numero di iterazioni, ma si vuole continuare fino a quando una certa condizione rimane vera.
  3. Quando usarlo: Si usa quando il numero di ripetizioni dipende da eventi dinamici o dati in ingresso, e non da un contatore predeterminato.
do...whileCiclo iterativo che esegue il blocco di codice almeno una volta e poi continua finché la condizione è vera.
5. Cicli
  1. Cos'è: Il ciclo `do...while` in JavaScript è simile a `while`, ma garantisce che il blocco di codice venga eseguito almeno una volta, prima di valutare la condizione.
  2. A cosa serve: Serve quando si vuole assicurare almeno un'esecuzione del blocco, e poi continuare finché la condizione è vera.
  3. Quando usarlo: Utile quando l'operazione deve essere eseguita almeno una volta, come chiedere input all'utente o inizializzare variabili.
for...inCiclo per iterare sulle proprietà enumerabili di un oggetto.
5. Cicli
  1. Cos'è: Il ciclo `for...in` in JavaScript permette di iterare sulle **proprietà enumerabili** di un oggetto (inclusi gli array, anche se non è il suo uso consigliato).
  2. A cosa serve: Serve per scorrere tutte le chiavi di un oggetto, accedendo sia ai nomi delle proprietà che ai loro valori.
  3. Quando usarlo: Si usa quando si vuole iterare su tutte le proprietà di un oggetto senza sapere in anticipo i nomi delle chiavi.
for...ofCiclo per iterare sui valori di oggetti iterabili.
5. Cicli
  1. Cos'è: Il ciclo `for...of` in JavaScript permette di iterare **direttamente sui valori** di un oggetto iterabile (array, stringhe, mappe, insiemi, ecc.).
  2. A cosa serve: Serve per scorrere in modo semplice i valori di collezioni iterabili senza dover gestire indici o chiavi.
  3. Quando usarlo: Si usa quando si vuole leggere direttamente il valore di ogni elemento di una struttura dati iterabile.
arrow functionSintassi compatta per definire funzioni anonime.
6. Funzioni
  1. Cos'è: Un'`arrow function` è una sintassi introdotta in ES6 per scrivere funzioni anonime in modo più conciso rispetto alla sintassi tradizionale.
  2. A cosa serve: Serve a creare funzioni più brevi, spesso utilizzate come funzioni di callback o per operazioni inline.
  3. Quando usarlo: Si usa quando serve una funzione semplice, soprattutto quando non si vuole modificare il contesto (`this`) della funzione.
callbackFunzione passata come argomento ad un'altra funzione.
6. Funzioni
  1. Cos'è: Una `callback` è una funzione passata come argomento a un'altra funzione e invocata in un momento successivo, di solito quando un'operazione è completata.
  2. A cosa serve: Serve a eseguire codice dopo un certo evento o azione, come la risposta di una richiesta HTTP o il completamento di un'operazione asincrona.
  3. Quando usarlo: Quando si vuole personalizzare il comportamento di una funzione o reagire a eventi/risultati futuri.
IIFEFunzione eseguita immediatamente dopo la sua definizione.
6. Funzioni
  1. Cos'è: Un'`IIFE` (Immediately Invoked Function Expression) è una funzione JavaScript che viene definita ed eseguita immediatamente, senza essere richiamata esplicitamente in un secondo...
  2. A cosa serve: Serve a creare uno scope isolato per variabili e funzioni, evitando di inquinare lo scope globale.
  3. Quando usarlo: Utile quando si vogliono eseguire operazioni subito senza lasciare variabili o funzioni disponibili all'esterno.
closureFunzione che mantiene accesso alle variabili del proprio scope anche dopo la sua esecuzione.
6. Funzioni
  1. Cos'è: Una `closure` è una funzione che ricorda e può accedere alle variabili del proprio scope di dichiarazione, anche dopo che lo scope esterno è stato eseguito.
  2. A cosa serve: Serve per mantenere uno stato privato, creare funzioni personalizzate e gestire dati senza esporli allo scope globale.
  3. Quando usarlo: Quando si vogliono memorizzare informazioni in una funzione e mantenerle disponibili tra diverse esecuzioni.
parametri di defaultValori predefiniti assegnati ai parametri di una funzione.
6. Funzioni
  1. Cos'è: I `parametri di default` sono valori predefiniti che una funzione utilizza se un parametro non viene fornito o è `undefined` al momento della chiamata.
  2. A cosa serve: Serve a rendere le funzioni più flessibili e robuste, evitando errori dovuti a parametri mancanti.
  3. Quando usarlo: Quando un parametro può avere un valore di default sensato in caso non venga passato dall’utente.
rest parametersRaccoglie un numero variabile di argomenti in un array.
6. Funzioni
  1. Cos'è: I `rest parameters` permettono a una funzione di accettare un numero indefinito di argomenti, raccogliendoli in un array.
  2. A cosa serve: Serve a gestire funzioni che devono accettare un numero variabile di valori, senza dover definire parametri singoli uno per uno.
  3. Quando usarlo: Quando non si conosce in anticipo quanti argomenti saranno passati alla funzione.
thisRiferimento al contesto di esecuzione corrente.
7. Oggetti
  1. Cos'è: In JavaScript, `this` è una parola chiave che fa riferimento all'oggetto su cui viene eseguita la funzione corrente, e il suo valore dipende da come la funzione viene chiamata.
  2. A cosa serve: Serve per accedere a proprietà e metodi dell'oggetto corrente all’interno di una funzione o di un metodo.
  3. Quando usarlo: Quando si lavora con metodi di oggetti o quando si vuole che una funzione sia dinamicamente legata al contesto di chiamata.
Object.create()Crea un nuovo oggetto con un prototipo specificato.
7. Oggetti
  1. Cos'è: Il metodo `Object.create()` crea un nuovo oggetto, utilizzando un oggetto esistente come prototipo del nuovo oggetto.
  2. A cosa serve: Serve per creare oggetti che ereditano proprietà e metodi da un altro oggetto.
  3. Quando usarlo: Quando si vuole impostare manualmente la catena dei prototipi o creare oggetti con ereditarietà personalizzata.
Object.assign()Copia le proprietà enumerabili da uno o più oggetti in un oggetto target.
7. Oggetti
  1. Cos'è: Il metodo `Object.assign()` copia tutte le proprietà enumerabili di uno o più oggetti sorgente in un oggetto target e restituisce quest’ultimo.
  2. A cosa serve: Serve per unire più oggetti in uno, o per clonare oggetti superficiali.
  3. Quando usarlo: Quando si vuole combinare dati da più oggetti o fare copie di oggetti esistenti senza modificarli direttamente.
Object.keys()Restituisce un array con le chiavi enumerabili di un oggetto.
7. Oggetti
  1. Cos'è: Il metodo `Object.keys()` restituisce un array contenente i nomi (stringhe) delle proprietà enumerabili di un oggetto.
  2. A cosa serve: Serve a ottenere rapidamente tutte le chiavi di un oggetto per iterarle o analizzarle.
  3. Quando usarlo: Quando si ha bisogno di conoscere o scorrere tutte le chiavi di un oggetto.
Object.values()Restituisce un array con i valori delle proprietà enumerabili di un oggetto.
7. Oggetti
  1. Cos'è: Il metodo `Object.values()` restituisce un array contenente i valori delle proprietà enumerabili di un oggetto.
  2. A cosa serve: Serve a ottenere tutti i valori di un oggetto in un array, utile per iterazioni e trasformazioni.
  3. Quando usarlo: Quando si vuole lavorare direttamente con i valori di un oggetto senza le chiavi.
Object.entries()Restituisce un array di coppie chiave-valore di un oggetto.
7. Oggetti
  1. Cos'è: Il metodo `Object.entries()` restituisce un array contenente coppie `[chiave, valore]` per ogni proprietà enumerabile di un oggetto.
  2. A cosa serve: Serve a trasformare un oggetto in un array di coppie chiave-valore, utile per iterazioni e conversioni in altre strutture dati.
  3. Quando usarlo: Quando si vuole iterare contemporaneamente su chiavi e valori in modo semplice.
Object.freeze()Rende un oggetto immutabile.
7. Oggetti
  1. Cos'è: Il metodo `Object.freeze()` impedisce qualsiasi modifica a un oggetto: non è possibile aggiungere, rimuovere o cambiare proprietà.
  2. A cosa serve: Serve a proteggere oggetti che non devono essere alterati, garantendo che il loro stato rimanga costante.
  3. Quando usarlo: Quando si vuole assicurare l'immutabilità di un oggetto dopo la sua creazione.
Object.seal()Blocca l’aggiunta o la rimozione di proprietà di un oggetto.
7. Oggetti
  1. Cos'è: Il metodo `Object.seal()` impedisce di aggiungere o rimuovere proprietà da un oggetto, ma permette di modificare i valori delle proprietà esistenti.
  2. A cosa serve: Serve per proteggere la struttura di un oggetto senza bloccare la possibilità di aggiornare i suoi dati.
  3. Quando usarlo: Quando la forma dell'oggetto deve rimanere fissa, ma i valori possono variare.
Object.hasOwn()Verifica se un oggetto possiede una proprietà come propria.
7. Oggetti
  1. Cos'è: Il metodo `Object.hasOwn()` verifica se un oggetto possiede una determinata proprietà come propria e non ereditata dal prototipo.
  2. A cosa serve: Serve a distinguere tra proprietà dirette di un oggetto e quelle ereditate dalla catena dei prototipi.
  3. Quando usarlo: Quando si iterano le proprietà di un oggetto e si vuole filtrare solo quelle definite direttamente su di esso.
DestructuringSintassi per estrarre valori da array o proprietà da oggetti in variabili separate.
7. Oggetti
  1. Cos'è: Il `destructuring` è una sintassi che consente di estrarre valori da array o proprietà da oggetti e assegnarli a variabili in modo conciso.
  2. A cosa serve: Serve a semplificare l’assegnazione di variabili quando si lavora con array o oggetti complessi.
  3. Quando usarlo: Quando si vogliono prelevare uno o più valori da un oggetto o array senza doverli accedere manualmente uno per uno.
Shorthand property namesSintassi abbreviata per creare proprietà di oggetti.
7. Oggetti
  1. Cos'è: Le `shorthand property names` sono una sintassi che consente di creare proprietà di oggetti usando direttamente il nome della variabile quando corrisponde al nome della proprietà.
  2. A cosa serve: Serve a scrivere oggetti in modo più conciso ed evitare ripetizioni inutili.
  3. Quando usarlo: Quando il nome della proprietà e quello della variabile da assegnare coincidono.
Computed property namesSintassi per definire nomi di proprietà calcolati dinamicamente
7. Oggetti
  1. Cos'è: Le `computed property names` permettono di definire i nomi delle proprietà di un oggetto in modo dinamico, utilizzando un'espressione tra parentesi quadre.
  2. A cosa serve: Serve a creare proprietà i cui nomi dipendono da variabili o calcoli effettuati al momento della creazione dell’oggetto.
  3. Quando usarlo: Quando il nome della proprietà non è noto in anticipo e deve essere calcolato a runtime.
push()Aggiunge uno o più elementi alla fine di un array.
8. Array
  1. Cos'è: Il metodo `push()` aggiunge uno o più elementi alla fine di un array e ne restituisce la nuova lunghezza.
  2. A cosa serve: Serve per estendere un array aggiungendo elementi alla sua fine.
  3. Quando usarlo: Quando si vuole aggiungere dati in coda a un array in modo semplice.
pop()Rimuove l’ultimo elemento di un array.
8. Array
  1. Cos'è: Il metodo `pop()` rimuove l’ultimo elemento da un array e lo restituisce.
  2. A cosa serve: Serve per togliere rapidamente l’ultimo elemento di un array.
  3. Quando usarlo: Quando si vuole rimuovere l’elemento finale da una lista ordinata.
shift()Rimuove il primo elemento di un array.
8. Array
  1. Cos'è: Il metodo `shift()` rimuove il primo elemento da un array e lo restituisce.
  2. A cosa serve: Serve per togliere rapidamente l’elemento iniziale di un array.
  3. Quando usarlo: Quando si vuole lavorare su una lista come fosse una coda (FIFO).
unshift()Aggiunge uno o più elementi all’inizio di un array.
8. Array
  1. Cos'è: Il metodo `unshift()` aggiunge uno o più elementi all’inizio di un array e restituisce la nuova lunghezza.
  2. A cosa serve: Serve per inserire elementi in testa a un array.
  3. Quando usarlo: Quando si lavora su una lista in cui l’ordine d’inserimento è importante e si vuole aggiungere in testa.
slice()Restituisce una copia parziale di un array.
8. Array
  1. Cos'è: Il metodo `slice()` restituisce una copia superficiale di una porzione di un array in un nuovo array, senza modificare l’originale.
  2. A cosa serve: Serve per estrarre una parte di un array in base a indici specificati.
  3. Quando usarlo: Quando serve ottenere una sezione di un array senza alterare l’originale.
splice()Aggiunge/rimuove elementi modificando l’array originale.
8. Array
  1. Cos'è: `splice()` consente di rimuovere, sostituire o inserire elementi in un array **modificando l’array originale**.
  2. A cosa serve: Serve per operazioni di editing “chirurgico” su un array: taglia, sostituisci, inserisci.
  3. Quando usarlo: Quando vuoi cambiare l’array in-place (senza crearne uno nuovo).
map()Crea un nuovo array trasformando ogni elemento.
8. Array
  1. Cos'è: `map()` applica una funzione a **ogni elemento** dell’array e restituisce **un nuovo array** con i risultati.
  2. A cosa serve: Serve a trasformare dati (es.
  3. Quando usarlo: Quando vuoi la stessa lunghezza, ma con elementi trasformati.
filter()Crea un nuovo array con gli elementi che passano un test.
8. Array
  1. Cos'è: `filter()` restituisce un nuovo array con **solo** gli elementi per cui la callback ritorna `true`.
  2. A cosa serve: A selezionare un sottoinsieme di elementi (es.
  3. Quando usarlo: Quando devi **filtrare** senza trasformare e senza toccare l’originale.
reduce()Riduce l’array a un singolo valore accumulando risultati.
8. Array
  1. Cos'è: `reduce()` applica una funzione “accumulatore” agli elementi dell’array per ottenere **un unico risultato** (numero, stringa, oggetto, ecc.).
  2. A cosa serve: Somme, medie, raggruppamenti, conteggi, trasformazioni complesse in un solo passaggio.
  3. Quando usarlo: Quando devi “condensare” l’array in un valore finale.
forEach()Esegue una funzione su ogni elemento dell’array.
8. Array
  1. Cos'è: `forEach()` esegue una funzione callback su ogni elemento di un array, in ordine, senza restituire un nuovo array.
  2. A cosa serve: Per eseguire operazioni o effetti collaterali su tutti gli elementi di un array.
  3. Quando usarlo: Quando vuoi iterare un array per compiere azioni, ma non devi trasformarlo o filtrarlo.
find()Restituisce il primo elemento che soddisfa una condizione.
8. Array
  1. Cos'è: `find()` restituisce il primo elemento dell’array che soddisfa la condizione definita nella callback, oppure `undefined` se non lo trova.
  2. A cosa serve: Per cercare un singolo elemento in base a un criterio.
  3. Quando usarlo: Quando vuoi solo il primo match, non tutti.
findIndex()Restituisce l’indice del primo elemento che soddisfa una condizione.
8. Array
  1. Cos'è: `findIndex()` restituisce l’indice del primo elemento che soddisfa la condizione, oppure `-1` se nessun elemento è idoneo.
  2. A cosa serve: Per sapere dove si trova un elemento nell’array.
  3. Quando usarlo: Quando ti serve l’indice, non il valore.
some()Verifica se almeno un elemento soddisfa una condizione.
8. Array
  1. Cos'è: `some()` restituisce `true` se almeno un elemento dell’array soddisfa la condizione nella callback, altrimenti `false`.
  2. A cosa serve: Per controllare se esiste almeno un elemento che rispetta un criterio.
  3. Quando usarlo: Quando la presenza di un match è sufficiente.
every()Verifica se tutti gli elementi soddisfano una condizione.
8. Array
  1. Cos'è: `every()` restituisce `true` se tutti gli elementi dell’array soddisfano la condizione nella callback, altrimenti `false`.
  2. A cosa serve: Per verificare che un array rispetti completamente un requisito.
  3. Quando usarlo: Quando serve una condizione globale “tutti devono essere...”.
includes()Verifica se un array contiene un certo elemento.
8. Array
  1. Cos'è: `includes()` restituisce `true` se l’array contiene un elemento specifico, altrimenti `false`.
  2. A cosa serve: Per controllare la presenza di un valore in un array in modo semplice e leggibile.
  3. Quando usarlo: Quando vuoi verificare rapidamente la presenza di un elemento.
try...catchGestisce errori durante l'esecuzione del codice.
9. Errori
  1. Cos'è: La struttura `try...catch` permette di eseguire un blocco di codice (`try`) e catturare eventuali errori generati (`catch`) senza interrompere l’esecuzione del programma.
  2. A cosa serve: Serve per gestire in modo sicuro errori previsti o imprevisti durante l'esecuzione.
  3. Quando usarlo: Quando del codice potrebbe generare eccezioni (es.
throwGenera un'eccezione in JavaScript.
9. Errori
  1. Cos'è: L’istruzione `throw` consente di generare manualmente un’eccezione, interrompendo l’esecuzione corrente e passando il controllo al blocco `catch` più vicino.
  2. A cosa serve: Serve per segnalare un errore o una condizione anomala all’interno del codice.
  3. Quando usarlo: Quando una funzione o un’operazione incontra un input o stato non valido.
finallyEsegue sempre un blocco di codice dopo try/catch.
9. Errori
  1. Cos'è: Il blocco `finally` viene eseguito dopo `try` e `catch`, indipendentemente dal fatto che si sia verificato un errore o meno.
  2. A cosa serve: Per eseguire codice di pulizia o chiusura (es.
  3. Quando usarlo: Quando devi garantire che un’operazione venga eseguita sempre, anche in caso di errore.
ErrorOggetto base per rappresentare errori in JavaScript.
9. Errori
  1. Cos'è: `Error` è il costruttore base per creare oggetti errore in JavaScript, con proprietà come `message` e `name`.
  2. A cosa serve: A rappresentare errori in modo standardizzato e fornire informazioni utili al debug.
  3. Quando usarlo: Quando lanci errori personalizzati con `throw`.
setTimeout()Esegue una funzione dopo un certo intervallo di tempo.
10. Asincronia
  1. Cos'è: `setTimeout()` esegue una funzione o un blocco di codice dopo un ritardo specificato in millisecondi.
  2. A cosa serve: Per pianificare l'esecuzione di codice in futuro, ad esempio ritardare un'animazione o un messaggio.
  3. Quando usarlo: Quando vuoi posticipare un’azione senza bloccare il resto del programma.
setInterval()Esegue una funzione ripetutamente a intervalli regolari.
10. Asincronia
  1. Cos'è: `setInterval()` esegue una funzione o un blocco di codice a intervalli regolari, specificati in millisecondi.
  2. A cosa serve: Per compiti che si ripetono, come aggiornare un orologio o effettuare controlli periodici.
  3. Quando usarlo: Quando vuoi ripetere un’azione più volte a intervalli fissi.
PromiseOggetto che rappresenta il risultato futuro di un'operazione asincrona.
10. Asincronia
  1. Cos'è: Una `Promise` è un oggetto che rappresenta un valore che potrebbe essere disponibile ora, in futuro, o mai, come risultato di un'operazione asincrona.
  2. A cosa serve: Per gestire codice asincrono in modo più ordinato rispetto alle callback annidate.
  3. Quando usarlo: Quando lavori con operazioni che richiedono tempo (API, file, timer) e vuoi gestire successi e fallimenti in modo chiaro.
asyncDichiara una funzione che restituisce sempre una Promise.
10. Asincronia
  1. Cos'è: `async` è una keyword che, messa davanti a una funzione, la rende asincrona e fa sì che restituisca sempre una `Promise`.
  2. A cosa serve: A scrivere codice asincrono in modo più leggibile, senza dover usare `then()` manualmente.
  3. Quando usarlo: Quando vuoi usare `await` all'interno di una funzione o quando una funzione deve restituire una `Promise`.
awaitAttende il completamento di una Promise all'interno di una funzione async.
10. Asincronia
  1. Cos'è: `await` è una keyword che sospende l'esecuzione di una funzione `async` finché una `Promise` non è risolta o rigettata.
  2. A cosa serve: Per scrivere codice asincrono in stile sincrono, migliorando leggibilità e manutenzione.
  3. Quando usarlo: Dentro funzioni `async` quando devi aspettare il risultato di una `Promise`.
fetch()Effettua richieste HTTP e restituisce una Promise.
10. Asincronia
  1. Cos'è: `fetch()` è una funzione nativa che permette di effettuare richieste HTTP e restituisce una `Promise` che si risolve con un oggetto `Response`.
  2. A cosa serve: Per recuperare dati da server o API web.
  3. Quando usarlo: Quando devi leggere o inviare dati via rete in JavaScript.
addEventListener()Assegna un listener per un evento specifico a un elemento.
11. Eventi
  1. Cos'è: `addEventListener()` è un metodo degli elementi DOM che permette di ascoltare eventi specifici e di eseguire una funzione quando questi avvengono.
  2. A cosa serve: Per associare codice a eventi come `click`, `keydown`, `submit` e molti altri.
  3. Quando usarlo: Quando vuoi reagire a un’azione dell’utente o a un evento generato dal browser.
removeEventListener()Rimuove un listener precedentemente assegnato.
11. Eventi
  1. Cos'è: `removeEventListener()` è un metodo che permette di rimuovere un evento precedentemente associato con `addEventListener()`.
  2. A cosa serve: Per evitare che una funzione venga eseguita dopo che non serve più.
  3. Quando usarlo: Quando un listener è temporaneo o può causare problemi se lasciato attivo.
clickEvento di attivazione tramite puntatore o tastiera.
11. Eventi
  1. Cos'è: `click` è un evento che si attiva quando un elemento viene “cliccato”: pressione e rilascio del tasto primario del mouse, tocco su dispositivi touch, oppure attivazione via...
  2. A cosa serve: Per reagire alle interazioni più comuni dell’utente (apri modali, invia azioni, cambia stato UI).
  3. Quando usarlo: Quando vuoi eseguire un’azione in risposta a un’“attivazione” generica dell’utente.
keydownEvento alla pressione di un tasto (prima del rilascio).
11. Eventi
  1. Cos'è: `keydown` si attiva quando un tasto viene premuto (prima del rilascio).
  2. A cosa serve: Per scorciatoie da tastiera, navigazione, chiusura con `Esc`, etc.
  3. Quando usarlo: Quando vuoi reagire immediatamente alla pressione di un tasto.
submitEvento di invio di un form.
11. Eventi
  1. Cos'è: `submit` si attiva quando un `form` viene inviato (tasto di invio o `Enter` in un input).
  2. A cosa serve: Per validare, prevenire il redirect e inviare dati via fetch/AJAX.
  3. Quando usarlo: Quando gestisci form in modo client-side o SPA.
Event objectL’oggetto passato ai listener con info e controlli sull’evento.
11. Eventi
  1. Cos'è: L’`Event object` (spesso `event` o `e`) è il parametro che il browser passa ai listener, contenente dati e metodi dell’evento.
  2. A cosa serve: Per capire cosa è successo (`type`, `target`, tasto premuto, coordinate, ecc.) e controllare il flusso (`preventDefault()`, `stopPropagation()`).
  3. Quando usarlo: Praticamente sempre, appena devi leggere dettagli o modificare il comportamento di default.
Event bubblingPropagazione dell’evento dal nodo figlio verso gli antenati.
11. Eventi
  1. Cos'è: Il `bubbling` è la fase in cui un evento, dopo aver raggiunto il target, risale la gerarchia DOM fino al `document`.
  2. A cosa serve: Permette di intercettare eventi a un livello superiore (utile per analitiche, delegazione, comportamenti globali).
  3. Quando usarlo: Quando vuoi reagire a eventi dei figli senza aggiungere listener a ogni singolo nodo.
Event delegationGestire molti eventi figli con un solo listener sul genitore.
11. Eventi
  1. Cos'è: La `delegation` consiste nell’attaccare un singolo listener su un antenato e distinguere i target veri all’interno del callback.
  2. A cosa serve: Per gestire liste dinamiche, molti elementi, contenuti generati dopo il load.
  3. Quando usarlo: Quando il numero di nodi è grande o cambia nel tempo.
getElementById()Seleziona un elemento tramite il suo id univoco.
12. DOM
  1. Cos'è: `getElementById()` è un metodo del `document` che restituisce l’elemento con l’attributo `id` corrispondente.
  2. A cosa serve: A ottenere rapidamente un singolo nodo noto e univoco nel DOM.
  3. Quando usarlo: Quando conosci l’`id` e vuoi la via più veloce e chiara per recuperare quell’elemento.
querySelector()Seleziona il primo elemento che corrisponde a un selettore CSS.
12. DOM
  1. Cos'è: `querySelector()` restituisce il primo elemento nel DOM che corrisponde al selettore CSS fornito.
  2. A cosa serve: A selezionare elementi in modo flessibile usando qualsiasi selettore CSS valido.
  3. Quando usarlo: Quando ti basta il primo match o vuoi una sintassi CSS coerente.
querySelectorAll()Seleziona tutti gli elementi che corrispondono a un selettore CSS (NodeList).
12. DOM
  1. Cos'è: `querySelectorAll()` restituisce una `NodeList` statica di tutti gli elementi che corrispondono al selettore.
  2. A cosa serve: A ottenere collezioni di nodi su cui iterare (mappe, toggle classi, ecc.).
  3. Quando usarlo: Quando devi agire su più elementi in una volta.
innerHTMLLegge o imposta il markup HTML interno di un elemento.
12. DOM
  1. Cos'è: `innerHTML` è una proprietà che ritorna o imposta l’HTML interno di un nodo come stringa.
  2. A cosa serve: A aggiornare rapidamente porzioni di UI generando markup via stringhe.
  3. Quando usarlo: Quando devi inserire blocchi di HTML completi e controlli la fonte dei dati.
textContentLegge o imposta il testo (non HTML) di un elemento.
12. DOM
  1. Cos'è: `textContent` è una proprietà che gestisce il contenuto testuale puro di un nodo.
  2. A cosa serve: A impostare/ottenere testo sicuro senza interpretare HTML.
  3. Quando usarlo: Quando devi mostrare dati utente o testo dinamico non formattato.
createElement()Crea un nuovo nodo elemento.
12. DOM
  1. Cos'è: `createElement()` crea un nuovo elemento DOM del tipo specificato.
  2. A cosa serve: A costruire interfacce dinamicamente senza passare da stringhe HTML.
  3. Quando usarlo: Quando vuoi controllo fine e sicurezza nella generazione dei nodi.
appendChild()Inserisce un nodo come ultimo figlio di un altro nodo.
12. DOM
  1. Cos'è: `appendChild()` aggiunge un nodo esistente o nuovo alla fine dei figli di un nodo padre.
  2. A cosa serve: A costruire/aggiornare la struttura DOM in modo esplicito.
  3. Quando usarlo: Quando devi inserire un singolo nodo in coda ai figli.
removeChild()Rimuove un nodo figlio da un nodo padre.
12. DOM
  1. Cos'è: `removeChild()` elimina un nodo figlio specifico dal suo genitore.
  2. A cosa serve: A rimuovere elementi dalla pagina e liberare risorse collegate.
  3. Quando usarlo: Quando conosci il riferimento al figlio da togliere.
setAttribute()Imposta o aggiorna un attributo su un elemento.
12. DOM
  1. Cos'è: `setAttribute()` definisce o modifica il valore di un attributo HTML su un elemento.
  2. A cosa serve: A gestire attributi generici come `src`, `href`, `aria-*`, `data-*`, ecc.
  3. Quando usarlo: Quando l’attributo non ha una proprietà DOM diretta, o vuoi coerenza esplicita.
classListAPI per gestire le classi CSS di un elemento.
12. DOM
  1. Cos'è: `classList` è un’API dell’elemento che fornisce metodi per aggiungere, rimuovere, alternare e verificare classi CSS.
  2. A cosa serve: A manipolare le classi in modo semplice senza stringhe manuali.
  3. Quando usarlo: Quasi sempre quando cambi classi dinamicamente.
importInclude funzioni/variabili/classi da altri moduli.
13. Moduli
  1. Cos'è: `import` è la sintassi degli ES Modules per usare codice esportato da un altro file (modulo).
  2. A cosa serve: A dividere il codice in file riutilizzabili, mantenendo dipendenze chiare.
  3. Quando usarlo: Quando vuoi organizzare il progetto per feature, evitare variabili globali e abilitare il tree-shaking.
exportRende elementi del modulo disponibili ad altri file.
13. Moduli
  1. Cos'è: `export` espone funzioni, costanti, classi o valori dal modulo corrente.
  2. A cosa serve: A condividere API tra file mantenendo un encapsulamento naturale.
  3. Quando usarlo: Quando vuoi riutilizzare codice o isolare responsabilità in più file.
default exportEsporta il “valore principale” del modulo.
13. Moduli
  1. Cos'è: Il `default export` è l’esportazione di default di un modulo: ce n’è al massimo una per file.
  2. A cosa serve: A indicare un’uscita “principale” (es.
  3. Quando usarlo: Quando il modulo ruota attorno a una singola entità.
named exportEsporta uno o più simboli nominati.
13. Moduli
  1. Cos'è: I `named export` espongono più simboli con nome (funzioni, costanti, classi) dallo stesso modulo.
  2. A cosa serve: A fornire un set di utilità importabili selettivamente.
  3. Quando usarlo: Quando il modulo contiene più funzioni correlate o una piccola libreria.
Strict modeModalità che abilita regole più restrittive in JavaScript.
14. Altri concetti
  1. Cos'è: Lo `Strict mode` è una modalità che rende JavaScript più rigoroso, attivando controlli e limitazioni che aiutano a evitare errori comuni.
  2. A cosa serve: A prevenire comportamenti impliciti e ambigui, migliorando la sicurezza e la compatibilità futura del codice.
  3. Quando usarlo: Sempre nei file o funzioni moderne; molti strumenti lo attivano automaticamente.
HoistingComportamento che sposta dichiarazioni in cima allo scope.
14. Altri concetti
  1. Cos'è: L’`Hoisting` è il comportamento per cui le dichiarazioni (non le assegnazioni) vengono “spostate” in cima allo scope durante la fase di compilazione.
  2. A cosa serve: A permettere di usare variabili o funzioni dichiarate più in basso nel codice (ma con differenze tra `var`, `let`, `const`).
  3. Quando usarlo: Non va “usato”, ma conosciuto per capire perché certe cose funzionano o generano errori.
Temporal Dead Zone (TDZ)Periodo tra hoisting e inizializzazione in cui la variabile non è accessibile.
14. Altri concetti
  1. Cos'è: La `TDZ` è l’intervallo tra l’inizio dello scope e la dichiarazione effettiva di una variabile `let` o `const` in cui accedervi genera errore.
  2. A cosa serve: A prevenire l’uso di variabili non inizializzate, rendendo il codice più sicuro.
  3. Quando usarlo: Non è una feature da usare, ma un comportamento da conoscere per evitare ReferenceError.
Garbage collectionProcesso automatico che libera memoria non più usata.
14. Altri concetti
  1. Cos'è: Il `Garbage collection` è il meccanismo del motore JavaScript che rimuove dalla memoria gli oggetti non più raggiungibili.
  2. A cosa serve: A prevenire sprechi di memoria e rallentamenti dovuti a variabili inutilizzate.
  3. Quando usarlo: Sempre: è automatico e non richiede codice esplicito.
Prototype chainMeccanismo di ereditarietà tra oggetti in JavaScript.
14. Altri concetti
  1. Cos'è: La `Prototype chain` è la catena di prototipi usata da JavaScript per cercare proprietà/metodi non presenti direttamente in un oggetto.
  2. A cosa serve: A implementare ereditarietà e condivisione di metodi tra oggetti.
  3. Quando usarlo: Sempre: ogni oggetto in JS (tranne `Object.create(null)`) ha un prototipo.