Roadmap ECMAScript: nuove funzionalità JavaScript per il 2019

ECMAScript 2019, l'ultima versione della specifica che funge da base per JavaScript, è stata finalizzata. ECMA International ha approvato la specifica a giugno.

Le nuove funzionalità introdotte in ECMAScript 2019 includono quanto segue:

  • Symbol.prototype.description, una proprietà della funzione di accesso il cui set accessornon è definito. La sua get accessorfunzione esegue passaggi tra cui: Let sbe this value, let symbe ?thisSymbolValue(s), and return sym. [[Description]]. Lo scopo di questa funzione è di esporre lo [[Description]]slot interno di un simbolo direttamente anziché solo indirettamente Symbol.prototype.toString.
  • Modifiche a Function.prototype.toString. Sono state proposte revisioni come le implementazioni che non sono necessarie per conservare il testo di origine per tutte le funzioni definite utilizzando il codice ECMAScript.
  • prototype.flatMap, un'operazione di matrice comune che accetta una struttura di matrice nidificata e rimuove uno o più livelli di nidificazione a seconda del parametro. Flat esiste in librerie di tipo array come Lodash, che ha portato gli utenti a desiderare la stessa funzionalità in JavaScript vanilla.
  • prototype.flatmap, una mappa seguita da un appartamento, offre una leggera comodità e una leggera ottimizzazione. Flatmap è conveniente perché l'appiattimento e la mappatura sono spesso utili nella stessa operazione. È anche un'ottimizzazione perché non è necessario allocare un array per la mappatura solo per scartarlo durante l'appiattimento.
  • prototype.sort(), un metodo che ordina gli elementi di un array in posizione e restituisce l'array, è ora stabile.
  • Object.fromEntries, fornendo un nuovo metodo statico per trasformare un elenco di coppie di valori chiave in un oggetto.
  • String.prototype.trimStarte String.prototype.trimEnd. La logica alla base di queste revisioni è che tutti i principali motori hanno implementato funzioni trimLeftet corrispondenti trimRighsenza una specifica standard. Per coerenza con padStart/padEnd, trimStart, trimEnd, trimLeft, e trimRightvengono proposti come alias per la compatibilità web.
  • Si aggiorna per JSON.stringifyemettere UTF-16 (Unicode Transformation Format) ben formato. Attualmente, le unità di codice mal formato potrebbero essere emesse per punti di codice surrogati.
  • Associazione facoltativa catch, che consente agli sviluppatori di omettere un'associazione catchquando l'associazione non verrà utilizzata.

La specifica ECMAScript 2019 completa può essere visualizzata online sul sito Web di ECMA International. Può anche essere scaricato. Le edizioni ECMAScript completate in genere vengono pubblicate ogni giugno, come la specifica ECMAScript 2018 dello scorso anno.