As principais features do ES11

O que tem de interessante nessa versão de 2020?

Weldisson Araujo
Accenture Digital Product Dev
4 min readJun 4, 2020

--

No mês passado, a Ecma International lançou a versão de 2020 do ECMAScript. Se você não teve tempo de começar a usar e quer saber o que tem de novo, esse post é pra você. Mas, antes, vamos entender um pouco do que é que eu estou falando.

O que é ECMAScript ?

O ECMAScript é uma especificação de linguagem de programação baseada em scripts, padronizada pela Ecma International na especificação ECMA-262 e ISO/IEC 16262. Linguagens como ActionScript, JavaScript, JScript e TypeScript usam ECMAScript como seu núcleo. Portanto, se você está acostumado a usar o JavaScript, é bom saber quais são os recursos importantes que o ES11 traz. Vamos a eles.

Dynamic Import
O Dynamic import() em JavaScript oferece a opção de importar módulos dinamicamente, ou seja, isso ajuda a não carregar módulos de forma desnecessária. Ele retorna uma promisse para o módulo solicitado e também suporta o async/await.

BigInt
O BigInt é um dos recursos mais esperados do JavaScript. Ele permite que os desenvolvedores tenham uma representação inteira muito maior em seu código JS para processamento e manipulação de dados.

Hoje o BigInt é um objeto nativo do Javascript, e oferece números inteiros maiores que pow(2, 53) -1. Um BigInt é criado adicionandon ao final de um inteiro literal e essa anotação ajuda para que ele seja tratado de maneira diferente pelo mecanismo JavaScript.

GlobalThis
O acesso ao escopo global exigia uma sintaxe diferente em ambientes Javascript distintos. Agora, você pode acessar o objeto global de maneira consistente sem precisar saber em qual ambiente o código está sendo executado.

Nullish Coalescing
Ao acessar uma propriedade, geralmente desejamos retornar um valor padrão se ela for null ou undefined. Atualmente, uma maneira típica de expressar essa intenção no JavaScript é usando o operador or "||".

Isso funciona bem no caso de valores null e undefined, que são mais comuns, mas há vários valores de falsidade que podem produzir resultados surpreendentes.

O operador Nulish Coalescing tem como objetivo lidar melhor com esses casos e servir como uma verificação de igualdade em relação a valores nulos (nulo ou indefinido). Se a expressão no lado esquerdo do ?? for null ou undefined, será retornado seu lado direito.

Optional Chaining
Esta feature, por sua vez, permite acessar propriedades de objetos profundamente aninhados sem se preocupar se a propriedade existe ou não. Se existir, ótimo! Caso contrário, undefined será retornado. Isso não funciona apenas nas propriedades do objeto, mas também nas chamadas de funções e Arrays. Aqui está um exemplo:

String.matchAll
matchAll é um novo método adicionado ao String prototype, que está relacionado às expressões regulares. Neste exemplo, o iterador retorna todos os grupos correspondentes, um após o outro. Vamos dar uma olhada:

Promise.allSettled
O método Promise.allSettled recebe um Array de promises por parâmetro e só é resolvido quando todas as promises são resolvidas ou rejeitadas.

Conclusão

Bom, neste post tentamos passar por alguns recursos que surgiram no ES11. Embora muitos deles possam não ser essenciais para o desenvolvimento de seu aplicativo atual, eles oferecem possibilidades incríveis, que talvez você precise futuramente. Tem algum recurso que você não viu aqui? Deixe nos comentários.

Quer fazer parte de um time que está trocando conhecimento a todo momento? É só dar uma olhada por aqui e se candidatar. Vamos aprender juntos e até a próxima!

--

--