3

我刚刚在 Firebug 控制台中尝试过,

let (X=10) X/2

[x,y]=[y,x]

这些都是 SpiderMonkey 支持的功能,我猜 V8 有它自己的份额。

我在哪里可以了解 ECMAScript 中尚未包含但可在各种浏览器中使用的功能?有没有一个地方可以把这些收集在一起?

4

4 回答 4

9

ECMAScript 6(又名 ECMAScript 2015)是 JavaScript 的当前标准,但引擎尚未完全实现它:

从 ECMAScript 2016 开始,将有年度版本和新的发布流程:

如果您想在旧引擎上使用任何新功能,您可以通过 Babel 将它们转换为 ES5:https ://babeljs.io/

于 2015-12-04T21:37:48.190 回答
5

这里有一篇文章涵盖了有关 Harmony/ES6/Javascript.next 的各种资源:

http://addyosmani.com/blog/ecmascript-6-resources-for-the-curious-javascripter/

于 2012-09-11T08:37:49.337 回答
3

第一个特征被称为“let表达式”,它是非标准的;它是从 Firefox 41 中删除的,并且类似的非标准“let块”是从 Firefox 44 中删除的:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let#Non-standard_let_extensions

我惊讶地发现 Kangax 的表格中没有提到这个特定的非标准 JS,但我猜他不得不将此列表限制为多个引擎支持的非标准 JS 扩展:https ://kangax.github.io /兼容表/非标准/

如果你想更深入地了解兔子洞,而 Kangax 和 MDN 还没有满足你的好奇心,这个旧参考可能会告诉你关于旧浏览器的好奇心:help.dottoro.com/ljsdaoxj.php

除此之外,浏览器制造商通常会记录他们自己浏览器的怪癖(MDN 也擅长记录非 Mozilla 的怪癖,但并不完美);说到怪癖,Peter-Paul Koch 在这里记录了标准和非标准 DOM 方法:quirksmode.org/dom/


无论如何,这些不仅在标准中“还没有”,而且可能“永远不会”,您不应该在自己的代码中使用它们。

于 2015-12-05T00:27:36.930 回答
1

对于当前的 ECMAScript 264 实现,这里是不同浏览器供应商支持的功能列表:http: //kangax.github.com/es5-compat-table/

对于下一代 ECMAScript Harmony 一些资源:

http://addyosmani.com/blog/ecmascript-6-resources-for-the-curious-javascripter/

http://kangax.github.com/es5-compat-table/es6/

于 2012-09-11T08:34:30.180 回答