ECMAScript 2021

Número da versão do JavaScript

As versões antigas do JS são nomeadas por números: ES5 (2009) e ES6 (2015).

Desde 2016, as versões são nomeadas por anos: ECMAScript 2016, 2017, 2018, 2019, ...

Novas características

Novas características do ES2021:

Novas características do ES2022:

  • Método de array at()
  • Método de string at()
  • Expressão regular /d
  • Object.hasOwn()
  • error.cause
  • await import
  • Métodos e campos privados
  • Declaração de campo de classe

Aviso

Essas características são relativamente novas。

Os navegadores mais antigos podem precisar de código alternativo (Polyfill)

Método ReplaceAll() da string JavaScript

O ES2021 introduziu o método de string replaceAll():

Exemplo

text = text.replaceAll("Cats","Dogs");
text = text.replaceAll("cats","dogs");

Experimente você mesmo

A método replaceAll() permite especificar um padrão regular em vez de uma string a ser substituída。

Se o parâmetro for uma expressão regular, deve ser configurado o sinal global (g), caso contrário, será lançado um TypeError。

Exemplo

text = text.replaceAll(/Cats/g,"Dogs");
text = text.replaceAll(/cats/g,"dogs");

Experimente você mesmo

Dica:ES2020 Introduziu o método de string matchAll().

Separadores numéricos JavaScript

O ES2021 introduziu os separadores numéricos (_) para tornar o número mais legível:

Exemplo

const num = 1_000_000_000;

Experimente você mesmo

Os separadores numéricos são apenas para uso visual.

Exemplo

const num1 = 1_000_000_000;
const num2 = 1000000000;
(num1 === num2);

Experimente você mesmo

Os separadores numéricos podem ser colocados em qualquer posição dentro de um número:

Exemplo

const num1 = 1_2_3_4_5;

Experimente você mesmo

Atenção

Os separadores numéricos não são permitidos no início ou no final de um número.

No JavaScript, apenasVariávelPode começar com _.

Desde janeiro de 2020, todos os navegadores modernos suportam separadores numéricos:

Chrome Edge Firefox Safari Opera
Chrome 75 Edge 79 Firefox 74 Safari 13.1 Opera 67
Junho de 2019 Janeiro de 2020 Outubro de 2019 Setembro de 2019 Junho de 2019