在哪里可以学习ECMAScript标准中尚未包含的JavaScript功能

Where can I learn JavaScript features not yet included in ECMAScript standard?

本文关键字:包含 JavaScript 功能 学习 ECMAScript 标准 在哪里      更新时间:2023-09-26

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

let (X=10) X/2

[x,y]=[y,x]

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

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

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

  • 表显示了支持哪些ES6功能,其中:http://kangax.github.io/compat-table/es6/
  • ES6上的三本书可以免费在线阅读(如果你喜欢,就买吧!):
    • 阅读理解ECMAScript 6
    • 探索ES6
    • JavaScript Allongé,"Six"版本
  • 项目符号列表中的ES6

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

  • 博客文章解释了ES2016的新发布过程和候选功能:http://www.2ality.com/2015/11/tc39-process.html

  • 拟议功能的官方列表(ECMAScript标准可能接受也可能不接受):https://github.com/tc39/ecma262

  • ES2016功能表:http://kangax.github.io/compat-table/es7/

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

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

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

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

我惊讶地发现,Kangax的表中没有提到这个特殊的非标准JS,但我想他不得不将这个列表限制为多个引擎支持的非标准JavaScript扩展:https://kangax.github.io/compat-table/non-standard/

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

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


无论如何,这些不仅仅是标准中的"尚未",而且可能是"永远不会",并且您不应该在自己的代码中使用它们。

对于当前的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/