JavaScript ECMAScript 2018


Índice

    Mostrar índice

Números de versão JavaScript

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

A partir de 2016, as versões são nomeadas por ano: ECMAScript 2016, 2017, 2018, 2019, ...

Novos recursos no ECMAScript 2018

Este capítulo apresenta os novos recursos do ECMAScript 2018:

  • Iteração Assíncrona

  • Prometa finalmente

  • Propriedades de descanso de objeto

  • Novos recursos RegExp

  • Memória compartilhada JavaScript


Iteração Assíncrona JavaScript

ECMAScript 2018 adicionou iteradores e iteráveis assíncronos.

Com iteráveis assíncronos, podemos usar o await palavra-chave em loops for/of.

Exemplo

for await () {}

A iteração assíncrona de JavaScript é suportada em todos os navegadores modernos desde janeiro de 2020:

Chrome 63 Edge 79 Firefox 57 Safari 11 Opera 50
Dec 2017 Jan 2020 Nov 2017 Sep 2017 Jan 2018

Promessa JavaScript.finalmente

ECMAScript 2018 finaliza a implementação completa do objeto Promise com Promise.finally:

Exemplo

let myPromise = new Promise();

myPromise.then();
myPromise.catch();
myPromise.finally();

Promise.finally é compatível com todos os navegadores modernos desde novembro de 2018:

Chrome 63 Edge 18 Firefox 58 Safari 11.1 Opera 50
Dec 2017 Nov 2018 Jan 2018 Mar 2018 Jan 2018


Propriedades restantes do objeto JavaScript

ECMAScript 2018 adicionou propriedades restantes.

Isso nos permite destruir um objeto e coletar as sobras em um novo objeto:

Exemplo

let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };
x; // 1
y; // 2
z; // { a: 3, b: 4 }

As propriedades restantes do objeto são suportadas em todos os navegadores modernos desde janeiro de 2020:

Chrome 60 Edge 79 Firefox 55 Safari 11.1 Opera 47
Jul 2017 Jan 2020 Aug 2017 Mar 2018 Aug 2017

Novos recursos JavaScript RegExp

ECMAScript 2018 adicionou 4 novos recursos RegExp:

  • Escapes de propriedades Unicode (\p{...})

  • Asserções Lookbehind (?<= ) e (?

  • Grupos de Captura Nomeados

  • Sinalizador s (pontoTodo)

Os novos recursos RegExp são suportados em todos os navegadores modernos desde junho de 2020:

Chrome 64 Edge 79 Firefox 78 Safari 12 Opera 51
Jan 2018 Jan 2020 Jun 2020 Sep 2018 Feb 2018

Tópicos JavaScript

Em JavaScript você usa a API Web Workers para criar threads.

Threads de trabalho são usados para executar código em segundo plano para que o programa principal possa continuar a execução.

Threads de trabalho são executados simultaneamente com o programa principal. Execução simultânea de diferentes peças de um programa pode economizar tempo.

Memória compartilhada JavaScript

A memória compartilhada é um recurso que permite que threads (diferentes partes de um programa) acessar e atualizar os mesmos dados na mesma memória.

Em vez de passar dados entre threads, você pode passar um objeto SharedArrayBuffer que aponta para a memória onde os dados são salvos.

SharedArrayBuffer

Um objeto SharedArrayBuffer representa um buffer de dados binários brutos de comprimento fixo semelhante ao objeto ArrayBuffer.