V8 lanzamiento v6.0
Cada seis semanas, creamos una nueva rama de V8 como parte de nuestro proceso de lanzamiento. Cada versión se ramifica desde el maestro de Git de V8 inmediatamente antes de un hito de Chrome Beta. Hoy nos complace anunciar nuestra rama más reciente, V8 versión 6.0, que estará en beta hasta que sea lanzada en coordinación con Chrome 60 Stable en varias semanas. V8 6.0 está lleno de todo tipo de beneficios para desarrolladores. Nos gustaría darles un adelanto de algunos de los aspectos más destacados en anticipación al lanzamiento.
SharedArrayBuffer
s
V8 v6.0 introduce soporte para SharedArrayBuffer
, un mecanismo de bajo nivel para compartir memoria entre trabajadores de JavaScript y sincronizar el flujo de control entre trabajadores. SharedArrayBuffers brindan acceso de JavaScript a memoria compartida, atómicos y futexes. SharedArrayBuffers también desbloquean la capacidad de portar aplicaciones con hilos al web mediante asm.js o WebAssembly.
Para un breve tutorial de bajo nivel, consulte la página de tutorial de la especificación aquí o consulte la documentación de Emscripten para portar pthreads.
Propiedades de reposo/dispersión de objetos
Este lanzamiento introduce propiedades de reposo para la asignación de desestructuración de objetos y propiedades de dispersión para literales de objetos. Las propiedades de reposo/dispersión de objetos son características de ES.next en la Etapa 3.
Las propiedades de dispersión también ofrecen una alternativa concisa a Object.assign()
en muchas situaciones.
// Propiedades de reposo para la asignación de desestructuración de objetos:
const person = {
firstName: 'Sebastian',
lastName: 'Markbåge',
country: 'EE.UU.',
state: 'CA',
};
const { firstName, lastName, ...rest } = person;
console.log(firstName); // Sebastian
console.log(lastName); // Markbåge
console.log(rest); // { country: 'EE.UU.', state: 'CA' }
// Propiedades de dispersión para literales de objetos:
const personCopy = { firstName, lastName, ...rest };
console.log(personCopy);
// { firstName: 'Sebastian', lastName: 'Markbåge', country: 'EE.UU.', state: 'CA' }
Para más información, consulte nuestra explicación sobre las propiedades de reposo y dispersión de objetos.
Rendimiento de ES2015
V8 v6.0 continúa mejorando el rendimiento de las características de ES2015. Este lanzamiento contiene optimizaciones para las implementaciones de las características del lenguaje que en general resultan en una mejora de aproximadamente un 10% en la puntuación de V8 en ARES-6.
API de V8
Por favor, consulte nuestro resumen de cambios de API. Este documento se actualiza regularmente unas semanas después de cada lanzamiento importante.
Los desarrolladores con un checkout activo de V8 pueden usar git checkout -b 6.0 -t branch-heads/6.0
para experimentar con las nuevas características de V8 6.0. Alternativamente, pueden suscribirse al canal Beta de Chrome y probar las nuevas características pronto ustedes mismos.