译者:huangxiaolu
V8发布6.0版
每六个星期,我们就会创建一个新的V8分支,作为发布过程(release process)的一部分。每个版本都是在Chrome Beta版里程碑之前直接从V8的master上创建的分支。今天,我们很高兴地宣布我们最新的分支——V8 6.0版本,它将会处于beta版,直到几周后随Chrome 60稳定版一同发布。V8 6.0有各种开发者喜爱的特性。现在向您展示新版本的一些亮点。
SharedArrayBuffers
V8 6.0引入了对SharedArrayBuffer的支持,SharedArrayBuffer是一个用于在JavaScript worker之间共享内存并跨worker同步控制流的一种底层机制。SharedArrayBuffers允许JavaScript访问共享内存,atomics和futexes。SharedArrayBuffers还开启了通过asm.js或WebAssembly将线程应用程序连接到Web的功能。
想了解简单的底层的教程,请参阅标准的教程页面,或参阅Emscripten文档查看移植pthread的内容。
对象的剩余/展开属性
此版本为对象字面量的对象解构赋值和展开属性引入了剩余属性。对象剩余/展开属性是处于Stage 3的ES.next的特性。
展开属性还在很多场景下提供了Object.assign()的一个简单的替代方案,可以用于多种场景。
// 对象解构赋值的剩余属性:
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' }
// Spread properties for object literals:
const personCopy = { firstName, lastName, ...rest };
console.log(personCopy);
// { firstName: 'Sebastian', lastName: 'Markbåge', country: 'USA', state: 'CA' }
更多信息请参阅Web Fundamentals上的使用文档。
ES6性能
V8 6.0继续提高了ES2015功能的性能。该版本包含了对语言功能实现的优化,总体上使V8的ARES-6得分提高了大约10%。
V8 API
请查看我们的API变更摘要。该文档在每个主要版本后的几周内都会定期更新。
经常checkout V8项目的开发者可以使用“git checkout -b 6.0 -t branch-heads / 6.0”来实验V8 6.0中的新功能。或者,您可以订阅Chrome's Beta频道,就能马上尝试新功能。
本文由V8团队发表