V8 发布 v5.5
每六周,我们会按照发布流程创建一个新的 V8 分支。每个版本都是在 Chrome Beta 的里程碑之前从 V8 的 Git 主分支生成的。今天,我们很高兴宣布我们的最新分支,V8 版本 5.5,它将进入测试版,直到几周后与 Chrome 55 稳定版协同发布。V8 v5.5 包含了各种面向开发者的功能,因此我们希望提前为您揭示一些亮点,以期望发布。
语言功能
异步函数
在 v5.5 中,V8 支持 JavaScript ES2017 异步函数,使得编写使用和创建 Promises 的代码更加容易。使用异步函数,等待 Promise 的解析只需在其前面输入 await,并像值是同步可用的一样继续操作 - 无需回调。请查看这篇文章了解介绍。
以下是用典型的异步 Promise 基式风格编写的获取 URL 并返回响应文本的示例函数。
function logFetch(url) {
return fetch(url)
.then(response => response.text())
.then(text => {
console.log(text);
}).catch(err => {
console.error('fetch 失败', err);
});
}
以下是使用异步函数重写的代码,移除了回调。
async function logFetch(url) {
try {
const response = await fetch(url);
console.log(await response.text());
} catch (err) {
console.log('fetch 失败', err);
}
}
性能改进
V8 v5.5 带来了许多关于内存占用的关键改进。
内存
内存消耗是 JavaScript 虚拟机性能权衡空间中的重要维度。在过去的几个版本中,V8 团队分析并显著减少了一些被认为代表现代网络开发模式的网站的内存占用。V8 5.5 在低内存设备上将 Chrome 的总体内存消耗减少了最多 35%(与 Chrome 53 中的 V8 5.3 相比),这归因于 V8 堆大小和区域内存使用的减少。其他设备类型也从区域内存减少中受益。请查看专门的博客文章了解详细信息。
V8 API
请查看我们的API 变化摘要。该文档会在每次主要发布后的几周内定期更新。
V8 检测器迁移
V8 检测器已从 Chromium 迁移到 V8。检测器代码现已完全存储在 V8 存储库中。
拥有活跃的 V8 检出版本的开发者可以使用 git checkout -b 5.5 -t branch-heads/5.5
来尝试 V8 5.5 中的新功能。或者,您可以订阅 Chrome 的 Beta 频道,很快亲自尝试新功能。