gpt4 book ai didi

javascript - v8 何时会实现 ECMAScript 5?

转载 作者:可可西里 更新时间:2023-11-01 01:29:45 24 4
gpt4 key购买 nike

我注意到 v8在 ECMAScript 第 5 版的问题上相当沉默。

V8 implements ECMAScript as specified in ECMA-262, 3rd edition, and runs on Windows XP and Vista, Mac OS X 10.5 (Leopard), and Linux systems that use IA-32 or ARM processors.

即使是 bug 跟踪器似乎也很安静......

关于 one bug你可以找到a commiter写这个:

V8 is an implementation of ECMAScript, not JavaScript. The latter is a non-standardized extension of ECMAScript made by Mozilla. V8 is intended to be plug-in compatible with JSC, the ECMAScript implementation in WebKit/Safari. As such it implements a number of non-standard extensions of ECMAScript that are also in JSC, and most of these are also in Mozilla's JavaScript languages. There is no plan to add non-standard features that are not in JSC to V8.

有趣的是,他在 2010 年 10 月 8 日写道,当时 ECMAScript 5 于 2009 年 12 月发布,并且两个月前发布了 Javascript 1.8.5——ECMAScript 5 的超集。

所以问题仍然存在,Google 何时更新 v8 以在 ECMAScript 第 5 版上运行?是否有计划升级到最新的 ECMAScript 标准化?

最佳答案

ECMAScript 5 实际上是以这样的方式设计的,因此实现不需要“更新即可运行”

现有行为几乎没有变化,但主要是 ES5 添加了新的原生对象(例如 Object.createArray.prototype.mapString.prototype。 trim 等)并标准化一些现有的实际功能(从无处不在的“字符串文字中的行终止符”、“字符串上的属性访问”和“间接评估行为”到不太流行的“访问器”和数组/字符串扩展)。

最大的行为变化——严格模式——出于同样的原因被选择加入;减少从 ES3 到 ES5 的过渡。

话虽如此,V8 确实实现了大量 ES5 特性,包括严格模式(最近添加的特性之一)。

如果你看我的ES5 compat. table你可以看到在 Chrome 中实现的 ES5 特性——它应该与 V8 密切相关(而且我认为——完全相关)。

还可以看到对严格模式的支持是largely implemented in 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 的大部分特性,包括严格模式 ;)

关于javascript - v8 何时会实现 ECMAScript 5?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6131803/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com