转载

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频道和自己尝试新特性。

原文  http://alinode.aliyun.com/blog/28
正文到此结束
Loading...