Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Le novità di ECMAScript 2026

ECMAScript 2026 è un aggiornamento "pragmatico" che rende JavaScript un linguaggio più maturo. Ecco le principali novità
ECMAScript 2026 è un aggiornamento "pragmatico" che rende JavaScript un linguaggio più maturo. Ecco le principali novità
Link copiato negli appunti

Nonostante molti sviluppatori guardino oggi con interesse a linguaggi come Go, attratti soprattutto dalla stabilità del suo ecosistema, JavaScript dimostra ancora una volta una vitalità straordinaria. Il 30 giugno 2026, Ecma International ha approvato ufficialmente le specifiche di ECMAScript 2026 (o ES2026). Una release che non stravolge il linguaggio, e non lo vuole stravolgere neanche nelle intenzioni, ma porta con sé una serie di funzionalità mirate a colmare alcune lacune più o meno "storiche", eliminare quanto più possibile il codice ripetitivo e ridurre la dipendenza da librerie esterne.

Date queste premesse, analizziamo i cambiamenti più interessanti che ridefiniranno il nostro modo di scrivere codice JavaScript nei prossimi mesi.

Gestione dei dati: array asincroni e mappe semplificate

Una delle lacune più evidenti degli ultimi anni riguardava la conversione degli iteratori asincroni. Mentre per i generatori sincroni Array.from() rappresenta uno standard fin dal 2015, per il mondo asincrono eravamo costretti a ricorrere a cicli for await. Con ECMAScript 2026 debutta Array.fromAsync(), un metodo nativo che permette di trasformare iteratori asincroni, o generatori che restituiscono Promise, in un array. Il tutto in modo diretto, pulito e indolore.

Grandi novità interessano anche la gestione delle strutture dati Map e WeakMap con l'introduzione del concetto di Upsert. Fino ad oggi, per inserire un valore solo se la chiave non era già presente, era necessario un controllo manuale con if (!map.has(key)). Il nuovo metodo getOrInsert() di ECMAScript 2026 azzera questo codice non solo apparentemente ridondante. Permette quindi di recuperare il valore esistente o, in sua assenza, di inserire e restituire un valore di default in un'unica riga di codice.

Precisione matematica e sicurezza nei controlli

Come è noto a gran parte degli sviluppatori che utilizzano questo linguaggio, uno dei limiti "storici" di JavaScript riguarda la precisione nei calcoli con virgola mobile, dove operazioni relativamente semplici possono generare arrotondamenti errati quando si usa Array.reduce().

La nuova specifica offre ora Math.sumPrecise(), una funzione nativa pensata per sommare le liste di numeri e per garantire una precisione matematica molto elevata, ideale per applicazioni finanziarie o di analisi dei dati.

Per quanto riguarda invece la sicurezza e la robustezza del codice, viene finalmente introdotto Error.isError(). Utilizzare instanceof Error, infatti, è sempre stato rischioso a causa dei diversi contesti di esecuzione (come gli iframe). Il nuovo metodo statico offre un modo molto più sicuro, e a suo modo definitivo, per verificare se un oggetto sia effettivamente un errore. Indipendentemente da come quest'ultimo sia stato generato o lanciato.

Manipolazione di stringhe, binari e iteratori in ECMAScript 2026

Parliamo ora di performance e di gestione dei dati a basso livello. Con ECMAScript 2026 viene introdotto un meccanismo nativo per convertire Uint8Array in stringhe Base64 ed Hex (e viceversa) tramite i metodi .toBase64(), .toHex(), Uint8Array.fromBase64() e Uint8Array.fromHex(). Una novità che ha soprattutto il vantaggio di eliminare la necessità di utility esterne per i task di codifica più comuni.

Per la manipolazione dei flussi di dati, l'Iterator Sequencing introduce invece Iterator.concat(). Combinare più iteratori non richiede ora la creazione di generatori personalizzati, è infatti possibile concatenare sequenze diverse e persino inserire valori singoli all'interno della catena.

Un JSON più "intelligente" per i BigInt

La serializzazione e deserializzazione in JavaScript ha sempre sofferto di perdite di dati. In particolare quando si devono gestire dei numeri molto grandi, dove JSON.parse() causava approssimazioni e JSON.stringify() falliva davanti ai BigInt.

La soluzione introdotta in ECMAScript 2026 risiede nell'accesso al testo sorgente. La funzione di reviver di JSON.parse accetta ora un terzo argomento, { source }, che permette di intercettare la stringa originale prima della conversione. Cosa che, appunto, permette il parsing in BigInt.

Nello stesso modo, JSON.rawJSON() consente a JSON.stringify di gestire questo tipo di formati senza lanciare delle eccezioni di tipo.

Conclusioni

ECMAScript 2026 può essere definito un aggiornamento "pragmatico" perché alleggerisce il codice JavaScript da automatismi di vecchia data e riduce la dipendenza da librerie di terze parti.

Per una panoramica completa delle ultime novità è possibile consultare il sito web ufficiale della Ecma International.

Ti consigliamo anche