[译]V8发布5.0版本-阿里云开发者社区

开发者社区> 开发与运维> 正文

[译]V8发布5.0版本

简介:

原文

V8发布流程中的第一步就是在Chromium为新的Chrome Beta里程碑创建新分支之前从master分支创建新的分支,频率为每6周。我们最新的发布分支是V8 5.0,它仍然处于beta状态,直到我们随Chrome 50稳定版发布稳定版本。该版本中有一些开发者关注的新特性。

注:5.0这个版本号并不是凸显语义重要,或作为一个主要的版本(也不是次要版本)。

改进对ECMAScript 2015 (ES6)的支持

V8 5.0包含一些与正则表达式匹配相关的ES2015特性。

RegExp Unicode 标志

RegExp的Unicode标识u为正则表达式匹配切换到一个新的Unicode模式。Unicode标志将模式和字符串看作一系列Unicode编码。它也为Unicode编码转义带来了一个新的语法。

/{2}/.test('');
// false

/{2}/u.test('');
// true

/\u{76}\u{38}/u.test('v8');
// true

/\u{1F60A}/u.test('');
// true

u标志也让.操作符(单字符匹配)能匹配任意Unicode符号,而不是只在基本语面(BMP)上的字符。

var string = 'the 🅛 train';

/the\s.\strain/.test(string);
// false

/the\s.\strain/u.test(string);
// true 

RegExp自定义钩子

ES2015包括RegExp子类改变匹配的语义的钩子。子类可以通过重载Symbol.match、Symbol.replace、Symbol.search和Symbol.split命名的方法,来改变RegExp子类与String.prototype.match和类似方法之间的表现。

性能提升

5.0版本也给已经实现的ES2015和ES5特性带来一些显著的性能提升。

rest parameters的实现比前一个版本快8-10倍,使之更有效地在函数调用后收集大量参数到函数中。Object.keys(),用于遍历对象的可枚举属性非常有用,跟for .. in的返回顺序相同,现在大约2倍快。

V8 API

请检查我们汇总的API改动。这个文档通常在每次主要发布几周后更新。

活跃开发者可以使用git checkout -b 5.0 -t branch-heads/5.0来体验V8 5.0中的新特性。另外也可以订阅Chrome的Beta频道和自己尝试新特性。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章