JavaScript Moderno: ES2024+

Aggiornato aprile 2026 · 10 min di lettura

JavaScript evolve rapidamente. Questa guida si concentra sulle feature più utili nel lavoro quotidiano, non sulla completezza accademica.

Async/await e gestione degli errori

Le promise hanno risolto il callback hell, ma async/await ha reso il codice asincrono finalmente leggibile:

async function fetchData(url) {
  try {
    const res = await fetch(url);
    if (!res.ok) throw new Error(res.status);
    return await res.json();
  } catch (err) {
    console.error("Fetch failed:", err);
    return null;
  }
}

Destructuring e spread

Combinato con lo spread operator, il destructuring trasforma operazioni verbose in espressioni concise:

const { name, email, ...rest } = userData;
const config = { ...defaults, ...userConfig };

Optional chaining e nullish coalescing

L’optional chaining (?.) e il nullish coalescing (??) hanno eliminato interi blocchi di codice difensivo:

const city = user?.address?.city ?? "Non specificata";

Da notare: ?? scatta solo per null e undefined, non per stringa vuota o zero.

Moduli ES e top-level await

I moduli ES sono lo standard per organizzare il codice. Il top-level await permette di usare await direttamente nel corpo del modulo.

Per chi costruisce applicazioni web professionali, il codice è solo una parte: le best practice di sicurezza e la scelta degli strumenti giusti completano il quadro.