v8何时实现ECMAScript 5
When will v8 implement ECMAScript 5?
我注意到v8在ECMAScript第5版的问题上相当静音。
V8按照ECMA-262第3版中的规定实现ECMAScript,并在使用IA-32或ARM处理器的Windows XP和Vista、Mac OS X 10.5(Leopard)以及Linux系统上运行。
即使是bug追踪器似乎也很安静。。。
- ECMA 5
- Javascript 1.8
在一个bug上,你可以找到一个commiter写着:
V8是ECMAScript的实现,而不是JavaScript。后者是Mozilla对ECMAScript的非标准化扩展。V8旨在与JSC插件兼容,JSC是WebKit/Safari中的ECMAScript实现。因此,它实现了ECMAScript的许多非标准扩展,这些扩展也在JSC中,其中大多数也在Mozilla的JavaScript语言中。没有计划将JSC中没有的非标准功能添加到V8中。
有趣的是,他写道,2010年10月8日,ECMAScript 5于2009年12月发布,两个月前,ECMASscript 5的超集Javascript 1.8.5发布。
因此,问题仍然存在,谷歌何时会更新v8以在ECMAScript第五版上运行?是否有升级到ECMAScript最新标准化的计划?
ECMAScript 5实际上是这样设计的,因此实现不需要在其上"更新以运行"。
现有行为几乎没有变化,但主要是ES5添加了新的本地对象(例如Object.create
、Array.prototype.map
、String.prototype.trim
等),并标准化了一些现有的事实特征(从无处不在的"字符串文字中的行终止符"、"字符串上的属性访问"answers"间接评估行为"到不太流行的"访问器"和数组/字符串扩展)。
行为上最大的变化——严格模式——是出于同样的原因选择加入的;以使从ES3到ES5的过渡不那么痛苦。
话虽如此,V8确实实现了一组引人注目的ES5功能,包括严格模式(最近添加的功能之一)。
如果你看看我的ES5同胞。在表中,您可以看到Chrome中实现的ES5功能——它应该和V8密切相关(我认为——完全相关)。
您还可以看到,对严格模式的支持主要在Chrome中实现,这意味着它也应该在V8中实现。为了仔细检查,我只是在控制台(v8 v3.2.3.1)中运行了这段代码,并得到了预期的SyntaxError:
> (function(){"use strict"; with({x:1}) return x})()
(shell):1: SyntaxError: Strict mode code may not include a with statement
(function(){"use strict"; with({x:1}) return x})()
^^^^
V8确实实现了ES5的大部分功能,包括严格模式;)
- 如何使用动画实现纸张推车
- 客户端服务器REST API captcha实现
- 如何实现此布局
- Meteor忘记了密码的实现
- 使用Native Sockets在Android中实现WebSockets
- 在样板文件中实现Ajax
- instanceof是如何在JavaScript中实现的
- 如何正确实现Jquery多选小部件
- 实现一个建立在google.com之上的自定义搜索引擎
- 多个组件是如何实现的
- window.location使用jquery mobile实现chrome跳转
- 如何实现JavaScript/ECMAScript“;这里没有线路终止器”;JavaCC中的规则
- 在实现ECMAScript 5 insertAjacentHTML()函数时,用户定义的函数不是函数错误
- 是否有与ECMAScript 6 Map草案具有相同契约的Map实现?
- 哪些ECMAScript 6/7标准是在Firefox中实现的,而不是在chrome中
- ECMAScript 262下setInterval()和setTimeout()的实现
- Java' Rhino实现实现了哪个JavaScript (ECMAScript)版本(更新策略是什么?)
- v8何时实现ECMAScript 5
- 哪些 ECMAScript 实现扩展了 RegExp 语法
- C 语言中的 ECMAScript-262 实现