Quelques nouveautés ECMAScript 2020 peu connues
1 - L’import dynamique
On peut désormais inclure un module directement à la volée dans le code et seulement si nécessaire.
Exemple 1
Exemple 2
2 - L’import.meta
Le mot clé import va contenir une propriété "meta" qui permet d’accéder aux métadonnées du fichier dans lequel on se situe.
Exemple
3 - Le type BigInt
Pour manipuler un nombre supérieur à 9007199254740991, plus besoin de faire appel à un package.
Ce code rend 9007199254740990 eu lieu de 9007199254740991
On peut désormais utiliser directement BigInt sans importer de dépendance.
Attention il faut que toutes les valeurs soient de type BigInt, c'est pour cela qu'il faut ajouter un "n" sur les Number qui seront alors de type BigInt.
4 - globalThis
Selon l'environnement où on se situe, notre variable globale (qui contient toutes les variables et toutes les fonctions) portait un nom différent.
En plus de son nom de base, cette variable globale porte désormais aussi un nom commun à tout les environnements. Si on a un script qui s'exécute sur différents environnements on peut donc utiliser "globalThis".
5 - Promise.allSettled
À la différence de la méthode "all" de l'objet "Promise", la méthode "allSettled" ne met rien dans le "catch" si l'une des promesses est rejected.
Avec la méthode "allSettled" il n'y a donc pas de "catch" mais une propriété "status" dans "result".