JavaScript Moderno: ES2024+
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.