Tout sur la dernière version d'ECMAScript | ECMAScript 2021

Dans cet article, nous allons passer en revue les nouvelles fonctionnalités disponibles dans la dernière version d'ECMAScript 2021 avec quelques exemples de codage.

Nouvelles fonctionnalités

1. String.replaceAll ()

Remplace toutes les instances de la chaîne cible par la chaîne souhaitée.

const fact = "Javascript is the best web scripting language. Javascript can be used for both front end and backend";
 
console.log(fact.replaceAll("Javascript", "Typescript"));

Result:
"Typescript is the best web scripting language. Typescript can be used for both front end and backend";

const fact = "Javascript is the best web scripting language. Javascript can be used for both front end and backend";
 
console.log(fact.replace("Javascript", "Typescript"));

Result:
"Typescript is the best web scripting language. Javascript can be used for both front end and backend";

Promise.any()se résout dès que l'une des promesses fournies est résolue, contrairement à promise.all()qui attend que toutes les promesses se résolvent. C'est fondamentalement l'opposé dePromise.all().

Voici ce qui se passe si une promesse est remplie :

const promises = [   
          Promise.reject('ERROR A'),           
          Promise.reject('ERROR B'),   
          Promise.resolve('result'), 
]; 

Promise
  .any(promises)
  .then((result) => assert.equal(result, 'result')); //true

const promises = [   
          Promise.reject('ERROR A'),  
          Promise.reject('ERROR B'),   
          Promise.reject('ERROR C'), 
]; 

Promise
  .any(promises)   
  .catch((aggregateError) => {
            assert.deepEqual(aggregateError.errors, 
            ['ERROR A', 'ERROR B', 'ERROR C']); //true
   });

Source: https://exploringjs.com/impatient-js/ch_operators.html#logical-assignment-operators

a ||= b est équivalent à a || (a = b). (Short-circuiting).

Pourquoi pas à cette expression? a = a || b

Eh bien, car pour l'ancienne expression, l'affectation n'est évaluée que si elle est aévaluée à false. Par conséquent, l'affectation n'est effectuée que si cela est nécessaire. En revanche, cette dernière expression effectue toujours une affectation.

Exemple a ||= b:

var a = 1;  
var b = 2;  
 
a ||= b;   

console.log(a); // 1

var a = 1; 
var b = 2; 

a &&= b; 

console.log(a); // 2

var a;  
var b = 2;   

a ??= b;   

console.log(a); // 2

Nous pouvons maintenant utiliser Underscores ( _ ) comme séparateurs dans les littéraux numériques et bigInt. Cela aidera les développeurs à rendre leurs littéraux numériques plus lisibles, car le trait de soulignement agira essentiellement comme une virgule (utilisée pour séparer les différents groupes de chiffres) lorsque nous écrivons des nombres dans notre vie quotidienne.

let budget = 1000000000000 //can be written as the following..

let budget = 1_000_000_000_000; 

console.log(budget); //printed as regular numeric literal.

result:
1000000000000

Ressources:

  • https://dev.to/faithfulojebiyi/new-features-in-ecmascript-2021-with-code-examples-302h
  • https://2ality.com/2020/09/ecmascript-2021.html

Suggested posts

Recherche d'informations sur les noms de domaine

Un extrait de Small, Sharp Software Tools par Brian P. Hogan

Recherche d'informations sur les noms de domaine

Lorsque vous faites une demande à facebook.com, votre ordinateur recherche le nom de domaine pour traduire ce nom de domaine en une adresse IP afin que votre ordinateur puisse établir cette connexion.

La révolution sans code : libérer la prospérité des entreprises avec Webflow, Framer, Bubble.io,

La révolution sans code : libérer la prospérité des entreprises avec Webflow, Framer, Bubble.io,

Embarquez pour un voyage passionnant d'innovation et de succès en exploitant le potentiel inexploité de ces surprenantes plateformes sans code. Permettez-moi de partager avec vous l'histoire de Sapna, une remarquable femme entrepreneure.

Related posts

La persécution des chrétiens : le crime de haine dont nous ne parlons pas

Oubliez l'islamophobie : les chrétiens (et les juifs) sont les principales victimes des crimes de haine religieuse.

La persécution des chrétiens : le crime de haine dont nous ne parlons pas

Tout esprit rationnel sait que les milieux politiques et médiatiques sont dominés par la gauche, voire l'extrême gauche, un état de fait qui crée un déséquilibre dans le discours politique. Dans le domaine religieux, ce déséquilibre est bien visible : les journaux et les réseaux de gauche ne se précipitent pas pour défendre la foi chrétienne.

Rassembler OSINT pour la chasse aux menaces

Rassembler OSINT pour la chasse aux menaces

Salut les cyber-amateurs ! Bienvenue à nouveau dans la série OSINT pour la chasse aux menaces. Dans le premier article, je vous ai donné un aperçu d'OSINT et de son importance dans la chasse aux menaces.

Pourquoi certains freelances simulent leur vie

Pourquoi certains freelances simulent leur vie

J'étais récemment sur Linkedin, le plus grand réseau social professionnel au monde, et j'ai trouvé des messages de designers indépendants que je suis et qui ont attiré mon attention. Ils ont tous posté des photos d'avions, sur la plage avec leurs ordinateurs portables, de piscines et de bureaux avec une vue imprenable.

Financement de l'élimination du carbone au cours de l'exercice 24

La répartition des demandes de crédits de Carbon180 selon les filières

Financement de l'élimination du carbone au cours de l'exercice 24

Par Alyson Lee, conseillère en gestion des affaires gouvernementales Le processus annuel d'affectation des crédits du gouvernement fédéral est au cœur de nos efforts pour financer l'élimination du dioxyde de carbone (CDR). Chaque année, Carbon180 soumet des demandes à divers bureaux du Congrès pour aider à orienter les flux de dollars de l'année prochaine.