Lançamento do V8 v6.0
A cada seis semanas, criamos um novo branch do V8 como parte do nosso processo de lançamento. Cada versão é derivada do master do Git do V8 imediatamente antes de um marco Beta do Chrome. Hoje estamos felizes em anunciar nosso mais novo branch, V8 versão 6.0, que estará em beta até ser lançado em coordenação com o Chrome 60 Stable nas próximas semanas. O V8 6.0 está repleto de novidades voltadas para desenvolvedores. Gostaríamos de dar a você uma prévia de alguns destaques em antecipação ao lançamento.
SharedArrayBuffer
s
O V8 v6.0 introduz suporte para SharedArrayBuffer
, um mecanismo de baixo nível para compartilhar memória entre workers do JavaScript e sincronizar o fluxo de controle entre esses workers. Os SharedArrayBuffers dão ao JavaScript acesso à memória compartilhada, operações atômicas e futexes. Os SharedArrayBuffers também desbloqueiam a capacidade de portar aplicativos com threads para a web via asm.js ou WebAssembly.
Para um breve tutorial de baixo nível, veja a página de tutorial da especificação tutorial page ou consulte a documentação do Emscripten para portar pthreads.
Propriedades de espalhamento/resto em objetos
Esta versão introduz propriedades de resto para atribuição de destruição de objeto e propriedades de espalhamento para literais de objeto. As propriedades de espalhamento/resto em objetos são recursos ES.next do Estágio 3.
As propriedades de espalhamento também oferecem uma alternativa concisa ao Object.assign()
em muitas situações.
// Propriedades de resto para atribuição de destruição de objeto:
const person = {
firstName: 'Sebastian',
lastName: 'Markbåge',
country: 'USA',
state: 'CA',
};
const { firstName, lastName, ...rest } = person;
console.log(firstName); // Sebastian
console.log(lastName); // Markbåge
console.log(rest); // { country: 'USA', state: 'CA' }
// Propriedades de espalhamento para literais de objeto:
const personCopy = { firstName, lastName, ...rest };
console.log(personCopy);
// { firstName: 'Sebastian', lastName: 'Markbåge', country: 'USA', state: 'CA' }
Para mais informações, veja nosso explicativo sobre propriedades de resto e espalhamento em objetos.
Desempenho do ES2015
O V8 v6.0 continua a melhorar o desempenho dos recursos do ES2015. Esta versão contém otimizações para implementações de recursos de linguagem que resultam, no geral, em uma melhoria de aproximadamente 10% na pontuação do ARES-6 do V8.
API do V8
Por favor, confira nosso resumo de mudanças na API. Este documento é atualizado regularmente algumas semanas após cada grande lançamento.
Desenvolvedores com um checkout ativo do V8 podem usar git checkout -b 6.0 -t branch-heads/6.0
para experimentar os novos recursos no V8 6.0. Alternativamente, você pode inscrever-se no canal Beta do Chrome e experimentar os novos recursos em breve.