Novos recursos importantes do ES2022 que você deveria conhecer

Thiago Carvalho
3 min readFeb 5, 2022

O ECMAScript 2022 será o lançado em junho de 2022. Neste post iremos dar uma visão geral das mudanças mais importantes que aparecerão certamente na nova versão do Javascript, à medida que atingir o 4º estágio do processo TC39.

TC39 são grupos de mantenedores de Javascript que aceitam e lançam novos recursos. Eles possuem 4 etapas de processo sendo 1 apenas proposta de ideia e 4 prontas para serem lançadas em nova versão ECMAScript. Você pode ler mais aqui.

1. Método at() para arrays e strings

Finalmente! O ES2022 nos dará o método at() e com isso possibilidade de receber um valor inteiro e retornar o item referente ao index dele, permitindo valores positivos ou negativos. Valores negativos contam a partir do último item do array. Esse é um recurso pequeno, mas melhora a legibilidade ao lidar com array ou strings.

em vez de escrever isto…

poderíamos escrever…

2. Error cause

.cause será uma propriedade no objeto de erro nos permitira especificar qual erro causou um outro erro. Bem autoexplicativo né?

Aqui você pode ver um exemplo de uso deste novo recurso:

.cause seria uma maneira perfeita de encadear erros, o que já era possível em outras linguagens como Java.

3. Top-level await

Para você que está lendo este post, sabia que você não consegue usar await diretamente no código fora de funções? Se não, não se preocupe, este não deve ser um grande problema para você. Mas para outros, não precisa se preocupar, o ES2022 mudará isso para nós!

Por que seria útil?

Top-level await, nos permitirá carregar módulos dinamicamente…

permitirá renderizar módulos condicionalmente…

4. Slots e métodos privados

Classes em Javascript estão presentes desde os primórdios do ES6, mas são muito menos desenvolvidas do que em linguagens orientadas a objetos. Muitos desenvolvedores usam o Typescript para incluir alguns desses recursos, mas agora poderemos utilizar estes recursos nativamente.

Slots privados é um desses novos recursos. Slots privados nada mais são do que propriedades privadas das classes. O ES2022 nos dará a possibilidade de criá-los e obter um erro quando tentamos acessá-los fora da classe.

O mesmo vale para métodos privados. Curiosamente, a equipe ES2022 optou por dar-lhes # prefixo (tem algo a ver com o legado JS?).

Não confundir Slots Privados de classes, com "slots e Named Slots" de Custom Elements. "Slots e Named Slots" são métodos de renderização da classe de Custom Elements, classe criada para criação de web components. (Api disponibilizada desde 2011).

Slots privados em ação

Slots privados em ação

Conclusão

Há diversas outras features, mas essas são, na minha opinião, os recursos mais impactantes e úteis da nova versão em nosso dia a dia.

Você pode encontrar outras features aqui . Deixe-me saber qual é a sua opinião sobre os novos recursos e se você planeja usá-los.

obrigado!

--

--

Thiago Carvalho

Senior Software Developer/Tech Lead, master in Computer Science/Software Engineering, Javascript, Web Components and software quality enthusiast.