Tudo sobre a última versão do ECMAScript | ECMAScript 2021

Neste artigo, veremos os novos recursos disponíveis na versão mais recente do ECMAScript 2021 com alguns exemplos de codificação.

Novas características

1. String.replaceAll ()

Substitui todas as instâncias da string de destino pela string desejada.

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()resolve assim que qualquer uma das promessas fornecidas for resolvida, ao contrário do promise.all()que espera que todas as promessas sejam resolvidas. É basicamente o oposto dePromise.all().

Isso é o que acontece se uma promessa for cumprida :

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
   });

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

a ||= b é equivalente a a || (a = b). (Short-circuiting).

Por que não para essa expressão? a = a || b

Bem, porque para a expressão anterior, a atribuição só é avaliada se for aavaliada como false. Portanto, a atribuição só é realizada se for necessário. Em contraste, a última expressão sempre executa uma atribuição.

Exemplo 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

Agora podemos usar Underscores ( _ ) como separadores em literais de número e literais bigInt. Isso ajudará os desenvolvedores a tornar seus literais numéricos mais legíveis, já que o sublinhado atuará basicamente como uma vírgula (usada para fornecer separação entre os diferentes grupos de dígitos) quando escrevemos números em nosso dia-a-dia.

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

Recursos:

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

Suggested posts

Encontrar informações sobre nomes de domínio

Um trecho de Small, Sharp Software Tools por Brian P. Hogan

Encontrar informações sobre nomes de domínio

Quando você faz uma solicitação para facebook.com, seu computador procura o nome de domínio para traduzir esse nome de domínio em um endereço IP para que seu computador possa fazer essa conexão.

A revolução sem código: liberando a prosperidade dos negócios com Webflow, Framer, Bubble.io,

A revolução sem código: liberando a prosperidade dos negócios com Webflow, Framer, Bubble.io,

Embarque em uma emocionante jornada de inovação e sucesso enquanto explora o potencial inexplorado dessas surpreendentes plataformas sem código. Deixe-me compartilhar uma história com você sobre Sapna, uma notável empresária.

Related posts

Aprender na semana de trabalho é mais importante do que você pensa

Aprender na semana de trabalho é mais importante do que você pensa

Muitas vezes nos encontramos lutando para implementar o que sabemos que é bom para nós. Desde dizer a um outro significativo que o amamos até lembrar de falar como um pirata, sempre haverá quem afirme que um dia, semana ou mês de eventos não é necessário porque eles já estão fazendo essas coisas.

Dois anos em design - O bom, o mau e o feio…

Dois anos em design - O bom, o mau e o feio…

“Ei, Siri, toque Me Dive, de Olivia Dean.” Era maio de 2021 quando comecei meu estágio na Future Academy Africa em Akure, Nigéria.

Journal Ouvert

Journal Ouvert

Diário aberto: uma foto por dia. Sempre fui fascinado por histórias.

pronomes são super assustadores

Isso me atinge De repente, como tantas vezes acontece É o meio do caminho tudo de novo <Não, não aquele no Pacífico, seu marrom, aquele no carnaval> Todas as manchetes em voz alta…..