BigInt
BigInt est un objet intégré qui fournit un moyen de représenter des nombres entiers supérieurs à 2⁵³ — 1, qui est le plus grand nombre de JS. JavaScript peut désormais représenter de manière fiable au-delà du type primitif "Number" et pas seulement au maximum à 9007199254740992. Un BigInt est créé en ajoutant n à l'entier (ex. 5n) Ou en appelant BigInt(). BigInt est similaire à Number, mais diffère de plusieurs manières. Il ne peut pas être utilisé avec des méthodes d'objet intégré comme dans Math. BigInt ne peut pas être combiné avec une instance d'opérations de Number. Ils ne peuvent être utilisés qu'avec d'autres variables BigInt sauf si elles sont converties. La proposition consiste à ajouter un nouveau type primitif pour les gros caractères à JavaScript. Étant donné que les entiers implicites (indices de tableau, etc.) continueront d'exister séparément, ils seront appelés BigInt.
import()
Jusqu'à présent, la seule façon d'importer un module a été via une instruction "import". Cette déclaration a plusieurs limites. Vous devez l'utiliser au niveau supérieur d'un module. Autrement dit, vous ne pouvez pas, par exemple, importer quelque chose lorsque vous êtes à l'intérieur d'un bloc ; le spécificateur de module est toujours fixe. Autrement dit, vous ne pouvez pas modifier ce que vous importez en fonction d'une condition. Et vous ne pouvez pas assembler un spécificateur dynamiquement. L'opérateur import() change cela. Il renvoie une promesse pour l'objet d'espace de noms de module du module demandé. Par conséquent, les importations peuvent désormais être affectées à une variable à l'aide de async / wait.
Promise.allSettled ()
Ceci est une autre méthode pour les promesses qui vérifie si toutes les promesses qui sont créées ont été réglées. La différence entre promise.all() et promise.allSettled() est promise.all() résolu uniquement si toutes les promesses sont résolues avec succès et sans erreur. Si une promesse est rejetée, .all() elle ne sera pas résolue. D'un autre côté, promise.allSettled() sera réglé même si la promesse est résolue ou rejetée.
L'opérateur de chaînage optionnel (?.)
Lors de la recherche d'une valeur de propriété au plus profond d'une structure arborescente, il faut souvent vérifier si des nœuds intermédiaires existent. De plus, de nombreuses API renvoient un objet ou null / undefined, et on peut vouloir extraire une propriété du résultat uniquement quand il n'est pas null. L'opérateur de chaînage optionnel permet à un développeur de gérer bon nombre de ces cas sans se répéter et/ou affecter des résultats intermédiaires dans des variables temporaires. Lorsqu'une autre valeur que celle undefined souhaitée pour le cas manque, cela peut généralement être géré avec l'opérateur de coalescence nulle.
L'opérateur de coalescence nulle (??)
Lors de l'exécution des accès aux propriétés, il est souvent souhaité de fournir une valeur par défaut si le résultat de cet accès aux propriétés est null ou undefined. À l'heure actuelle, une façon typique d'exprimer cette intention en JavaScript consiste à utiliser l'opérateur ||. Cela fonctionne bien pour le cas commun des valeurs null et undefined, mais il existe un certain nombre de valeurs fausses qui pourraient produire des résultats inattendus comme dans le cas ci-dessous.
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 | const response = { settings: { nullValue: null, height: 400, animationDuration: 0, headerText: '', showSplashScreen: false } }; const headerText = response.settings.headerText || 'Hello, world!'; const animationDuration = response.settings.animationDuration || 300; const showSplashScreen = response.settings.showSplashScreen || true; |
Source : ECMAScript 2020
Et vous ?
Que pensez-vous des nouveautés d'ECMAScript 2020 ?
Voir aussi
ECMAScript 2017 : Ecma International annonce les nouvelles mises à jour de ses spécifications, pour les langages de script
Tutoriel présentant les nouveautés ECMAScript 6
Introduction à PHP 7, ECMASCRIPT 6 et VUE.JS par l'exemple, un tutoriel de Serge Tahé
ECMAScript 2016 : des mises à jour plus petites et plus fréquentes pour l'ensemble de normes des langages de script