Javascript : les possibles nouveautés en 2019

JavaScript est un langage de programmation de scripts utilisé le plus souvent dans les pages web interactives, mais aussi coté serveur (par exemple avec Node.js). C’est un langage orienté objet à prototype et qui supporte le paradigme objet, impératif et fonctionnel. Il a été standardisé sous le nom d’ECMAScript en juin 1997 par Ecma International dans le standard ECMA-262. JavaScript n’est depuis qu’une implémentation d’ECMAScript (ES), celle mise en œuvre par la fondation Mozilla.

Au cours des dernières années, JavaScript a évolué avec de nouvelles fonctionnalités de langage apportées à la spécification ECMAScript. Il est déjà possible de se faire une idée des fonctionnalités qui pourraient arriver en JavaScript cette année.

Les classes : Un certain nombre de modifications ont été proposées, notamment les déclarations de champ, les méthodes et champs privés et les méthodes et champs statiques.

La méthode trim() (pour les chaines de caractères) supprime les espaces en début et en fin de chaîne. Les nouvelles méthodes trimStart() et trimEnd() proposées pourraient permettre la suppression d’espaces seulement en début ou en fin de chaine.

Les grands nombres : BigInt est un objet natif qui permet de représenter des nombres entiers supérieurs à 253 la plus grande valeur entière accessible avec le type number. Un objet BigInt est créé en ajoutant un n à la fin d’un entier (25n par exemple)  ou en appelant la fonction BigInt().

Applatissement de tableaux : La méthode flat() permet de créer un nouveau tableau contenant les éléments des sous-tableaux. Les sous-tableaux sont aplatis et leurs éléments sont concaténés récursivement jusqu’à une profondeur précisée en paramètre.

La méthode flat() supprime aussi les éléments manquant d’un tableau :

[‘a’,  ‘b’,  ,  ‘c’,  ‘d’].flat()  retournera [‘a’,  ‘b’,  ‘c’,  ‘d’].

La méthode flatMap() permet d’appliquer une fonction à chaque élément du tableau puis d’aplatir le résultat en un tableau. Cela correspond à l’enchaînement des fonctions map() et flat() de profondeur 1. flatMap() est plus efficace que la combinaison de ces deux opérations.

Parmi les autres fonctionnalités candidates, on peut citer  : globalThis, qui offre un mécanisme universel d’accéder à l’objet global même dans des fonctions strict ou des modules, quelle que soit la plateforme ; un import() dynamique ; une méthode matchAll() pour le type String ; une méthode Object.fromEntries(), méthode statique pour transformer une liste de paires clé-valeur en un objet.

Il est probable que la spécification ES2019 soit publiée en milieu d’année 2019. Afin d’expérimenter ces fonctionnalités de langage candidates, certaines sont déjà disponibles dans les moteurs et les utilitaires JavaScript. Elles sont parfois désactivées par défaut, mais peuvent être configurées pour être utilisées.

Il est utile de rappeler qu’actuellement,  rien ne garantit que ces  fonctionnalités feront partie de la spécification officielle d’ECMAScript.

sources : https://www.developpez.com/actu/242578/Quelles-sont-les-nouvelles-fonctionnalites-qui-pourraient-debarquer-dans-JavaScript-en-2019-Un-tour-d-horizon-des-candidats-pour-ES2019/

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *