JavaScriptECMAScript 2020

Numéros de version JavaScript
Les anciennes versions de JS sont nommées par des numéros : ES5 (2009) et ES6 (2015).
A partir de 2016, les versions sont nommées par année : ECMAScript 2016, 2017, 2018, 2019, …
Nouvelles fonctionnalités dans ES2020
Avertissement
Ces fonctionnalités sont relativement nouvelles.
Les navigateurs plus anciens peuvent avoir besoin d’un code alternatif (Polyfill)
JavaScript BigInt
Javascript BigInt
les variables sont utilisées pour stocker de grandes valeurs entières qui sont trop grandes pour être représentées par un JavaScript normal Number
.
Les entiers JavaScript ne sont précis que jusqu’à environ 15 chiffres.
Exemple d’entier
soit x = 999999999999999 ;
soit y = 9999999999999999 ; // trop grand
Exemple BigInt
soit x = 9999999999999999 ;
soit y = 9999999999999999n ;
Essayez-le vous-même »
Créer un BigInt
ajoutez n à la fin d’un entier ou appelez
BigInt()
:
Exemple
soit x = 1234567890123456789012345n ;
soit y = BigInt(1234567890123456789012345)
Essayez-le vous-même »
Le Javascript typeof
un BigInt
est “bigint”:
BigInt
est pris en charge dans tous les navigateurs modernes depuis septembre 2020 :
Chrome 67 | Bord 79 | Firefox 68 | Safari 14 | Opéra 54 |
Mai 2018 | janvier 2020 | juil. 2019 | septembre 2020 | juin 2018 |
Chaîne JavaScript matchAll()
Avant ES2020, il n’existait aucune méthode de chaîne pouvant être utilisée pour rechercher toutes les occurrences d’une chaîne dans une chaîne.
Si le paramètre est une expression régulière, l’indicateur global (g) doit être défini, sinon une TypeError est levée.
Si vous souhaitez effectuer une recherche insensible à la casse, l’indicateur insensible (i) doit être défini :
L’opérateur de coalescence nulle (??)
Le ??
l’opérateur renvoie le premier argument s’il ne l’est pas nul
(null
ou undefined
).
Sinon, il renvoie la seconde.
Exemple
laissez nom = null;
let text = “manquant” ;
laisser résultat = nom ?? texte;
L’opérateur nul est pris en charge dans tous les navigateurs modernes depuis mars 2020 :
Chrome 80 | Bord 80 | Firefox 72 | Safari 13.1 | Opéra 67 |
février 2020 | février 2020 | janvier 2020 | mars 2020 | mars 2020 |
L’opérateur de chaînage facultatif (?.)
Le Opérateur de chaînage facultatif Retour undefined
si un objet est
undefined
ou null
(au lieu de lancer une erreur).
Exemple
const car = {type:”Fiat”, model:”500″, color:”white”} ;
let nom = voiture?.nom;
Le ?.=
L’opérateur est pris en charge dans tous les navigateurs modernes depuis mars 2020 :
Chrome 80 | Bord 80 | Firefox 74 | Safari 13.1 | Opéra 67 |
février 2020 | février 2020 | mars 2020 | mars 2020 | mars 2020 |
L’opérateur &&=
Le Opérateur d’affectation ET logique est utilisé entre deux valeurs.
Si la première valeur est true
la deuxième valeur est attribuée.
Le &&=
L’opérateur est pris en charge dans tous les navigateurs modernes depuis septembre 2020 :
Chrome 85 | Bord 85 | Firefox 79 | Safari 14 | Opéra 71 |
août 2020 | août 2020 | mars 2020 | septembre 2020 | septembre 2020 |
L’opérateur ||=
Le Opérateur d’affectation logique OU est utilisé entre deux valeurs.
Si la première valeur est false
la deuxième valeur est attribuée.
Le ||=
L’opérateur est pris en charge dans tous les navigateurs modernes depuis septembre 2020 :
Chrome 85 | Bord 85 | Firefox 79 | Safari 14 | Opéra 71 |
août 2020 | août 2020 | mars 2020 | septembre 2020 | septembre 2020 |
L’opérateur ??=
Le Opérateur d’affectation de coalescence nulle est utilisé entre deux valeurs.
Si la première valeur est undefined
ou null
la deuxième valeur est attribuée.
Le ??=
L’opérateur est pris en charge dans tous les navigateurs modernes depuis septembre 2020 :
Chrome 85 | Bord 85 | Firefox 79 | Safari 14 | Opéra 71 |
août 2020 | août 2020 | mars 2020 | septembre 2020 | septembre 2020 |
#JavaScriptECMAScript