我开始使用Node.js,我很难知道节点支持的JavaScript是什么版本,这使得我很难弄清楚我可以使用什么功能。这是我知道的。
> Node使用V8
> V8按照ECMA-262,第3版中的规定实现ECMAScript
> ECMA-262,第3版是JavaScript 1.5
鉴于此,我假设我可以在节点中使用JavaScript 1.5兼容的代码。然而,事实证明,我可以使用Array.forEach
,其他构造,即使根据MDC它不可用,直到JavaScript 1.6 – ECMA-262,第5版。
我在哪里错了?有文档在某处详细的可用语言功能吗?
解决方法
This matrix(V8紧跟在WebKit列之后)似乎很好地回答了“我可以使用什么功能?但我找不到一个规范的答案“支持什么版本的JavaScript?据我所知,最好的答案是:ECMA-262第三版是支持,但第五版的许多功能也支持。
有一个很好的解释为什么V8遵循this thread上的WebKit和JavaScriptCore功能。