Destructuring In JavaScript

Il destructuring è una sintassi introdotta in ES6 che permette di estrarre valori da array o oggetti in modo semplice e leggibile.
È un modo elegante per evitare righe di codice ripetitive! Nel video una breve descrizione.

 

CallBack In JavaScript

na callback è una funzione che viene passata come argomento ad un’altra funzione, e che viene poi invocata (richiamata) all’interno di quella funzione “contenitrice”, spesso al termine di un’operazione asincrona o dopo che un certo compito è stato completato.

In altre parole:

  1. Definisci una funzione A.

  2. Passi A come parametro a un’altra funzione B.

  3. Dentro B, in un momento opportuno, chiami A (la callback).

Questo permette di “dire” a B: “quando hai finito, esegui questo”.

Perché usare le callback

  • Gestione dell’asincronia: molte operazioni in JS (es. richieste HTTP, operazioni su file, timer) sono asincrone. Le callback permettono di definire il codice da eseguire dopo che l’operazione è conclusa.

  • Inversione del flusso: consente di inserire del codice “da eseguire dopo” senza bloccare l’esecuzione del programma principale.

  • Flessibilità: la funzione “contenitore” non ha bisogno di conoscere i dettagli di cosa fare alla fine: riceve una callback generica.

Esempio base

function doSomething(callback) {
console.log(“Doing something…”);
// Simuliamo operazione asincrona con setTimeout
setTimeout(() => {
console.log(“…operation done”);
callback(); // richiamo la callback
}, 1000);
}

function afterDone() {
console.log(“Callback called!”);
}

// uso
doSomething(afterDone);
// Output:
// Doing something…
// …operation done
// Callback called!

 

 

In questo esempio, afterDone è la callback che verrà eseguita dopo che doSomething ha “finito” la sua operazione simulata.

Per chi preferisce il formato video: 

Corso Completo Java Base In 3 Ore

Il video raccoglie tutte le mie lezioni introduttive in un’unica guida, perfetta per chi parte da zero e vuole capire le basi di Java PRIMA di affrontare la Programmazione Orientata agli Oggetti (OOP).