DEV Community

Luís Von Muller
Luís Von Muller

Posted on

🔥 3 Coisinhas Legais do ES12 (JavaScript 2021) 🌟

Foram trazidas a vida no JavaScript (ECMAScript) em 2021 várias novas opções de sintaxe e outros (ES12), separei 3 aqui à nível iniciante para você usar em ambiente NodeJs ou similar.

⚠️ Antes de sair usando, por favor meu anjo 😇 lembre-se que nem todo navegador vai suportar isso, e não é para ser exportado por questões de compatibilidade. Por favor. 😮‍💨

🔢 Separador entre dígitos Numéricos:

👉 Permite usar "_" para separar os números facilitando a leitura:

let bilhao = 1000000000; 
Enter fullscreen mode Exit fullscreen mode

É um bilhão? É. Mas tá meio difícil de visualizar de primeira. Apenas o presidenciável Ciro Gomes iria ver de primeira...

Quero ver onde vamos achar, "1 Bilhão"? - Gomes, Ciro

Já com o ES12 podemos fazer o seguinte:

let bilhao = 1_000_000_000; 
Enter fullscreen mode Exit fullscreen mode

Leitura de casas decimais facilitada :)

💬 replaceAll() - Substituir todas as ocorrências de uma string em outra.

👉 Vamos imaginar 🪄 que temos a seguinte string:

let strExemplo1 =
  "Javascript é alguma coisa, provavelmente Javascript é uma Linguagem de programação. Javascript não tem nada a ver com Java";

Enter fullscreen mode Exit fullscreen mode

Se nós usarmos o método "replace" para trocar todas as ocorrências da palavra Javascript por Typescript, ele só trocaria a primeira.

console.log(strExemplo1.replace("Javascript", "Typescript")); // Remove apenas a primeira ocurrência
// Output: Typescript é alguma coisa, provavelmente Javascript é uma Linguagem de programação. Javascript não tem nada a ver com Java
Enter fullscreen mode Exit fullscreen mode

Para fazermos isso precisaríamos usar uma Expressão regular dentro do método, isto é: REGEX.

console.log(strExemplo1.replace(/Javascript/g, "Typescript")); // Remove todas as ocorrências.
Enter fullscreen mode Exit fullscreen mode

Mas com o ES 12...

console.log(strExemplo1.replaceAll("Javascript", "Typescript"));
Enter fullscreen mode Exit fullscreen mode

👀 Saída da execução (comparativo entre as 3 maneiras)... 👉
Output das 3 execuções supracitadas

🤩 Atribuição em Nulo - Nullish Coalescing Assignment Operator

👉 Vamos imaginar 🪄 que temos o seguinte código:

let algumaCoisa = 1;
let nada = null;
Enter fullscreen mode Exit fullscreen mode

Agora, vamos verificar se "nada" é nulo, e caso for, vamos atribuir o valor de "algumaCoisa" à ele.

nothing ??= something; // Tá nulo, recebe 1.
console.log(something === something); // Retona true.
Enter fullscreen mode Exit fullscreen mode

Ou seja, caso alguma coisa seja nula, recebe um valor informado.


Bom, por hoje é: só (◡‿◡✿)

Vem pro meu Twitter & muito mais: https://allmylinks.com/luisvonmuller

"Meu estômago acha que todas as batatas são purê de batatas.".
Beijão (っ˘з(˘⌣˘ )

Discussion (1)

Collapse
hgoulart profile image
Hingo Rocha

Damn nice!!