ECMAScript 2024 approuvé : quelles nouveautés ?
(2ality.com)Regroupement des iterables synchrones
Map.groupBy()regroupe les éléments d’un iterable dans des entrées deMapselon la clé fournie par le callbackObject.groupBy()crée un objet au lieu d’uneMap
Promise.withResolvers()
- offre une nouvelle manière de créer une
Promiseà résoudre
Indicateur d’expression régulière /v
- le nouvel indicateur d’expression régulière
/v(.unicodeSets) active les fonctionnalités suivantes :- les échappements pour les propriétés de chaînes Unicode (la propriété de point de code Unicode
Emojivia/uet la nouvelle propriété de chaîne UnicodeRGI_Emojivia/v) - les littéraux de chaîne via
\q{}à l’intérieur des classes de caractères - les opérations ensemblistes sur les classes de caractères
- un appariement amélioré avec
/ilorsque les échappements de propriétés Unicode sont niés via[^···]
- les échappements pour les propriétés de chaînes Unicode (la propriété de point de code Unicode
Nouvelles fonctionnalités pour ArrayBuffer et SharedArrayBuffer
- ArrayBuffer :
- redimensionnement direct possible
- ajout de la méthode
.transfer()pour le transfert
- SharedArrayBuffer :
- la taille peut être augmentée mais pas réduite
- non transférable, donc pas de méthode
.transfer()comme pour lesArrayBuffer
Vérifier si une chaîne est bien formée
- deux nouvelles méthodes permettent de vérifier si une chaîne (UTF-16) est bien formée :
- la méthode de
String.isWellFormed()vérifie qu’une chaîne JavaScript est bien formée et ne contient pas de surrogate isolé - la méthode de
String.toWellFormed()renvoie une copie du récepteur dans laquelle chaque surrogate isolé est remplacé par l’unité de code0xFFFD(représentant le point de code du même nombre, appelé « caractère de remplacement »), de sorte que le résultat soit bien formé
- la méthode de
Atomics.waitAsync()
Atomics.waitAsync()permet d’attendre de manière asynchrone les modifications de mémoire partagée
Livre gratuit sur ECMAScript 2024
- "Exploring JavaScript (ES2024 Edition)" peut être lu gratuitement en ligne. Deux chapitres particulièrement pertinents :
- "History and evolution of JavaScript" : ECMAScript vs. JavaScript, TC39, le processus TC39, les propositions ECMAScript, etc.
- "New JavaScript features" : quelles sont les nouveautés de chaque version d’ECMAScript ?
Aucun commentaire pour le moment.