节点REPL遵循什么Javascript标准?

时间:2018-03-20 21:53:13

标签: javascript node.js

根据the MDN docs,以下javascript有效:

const o = {foo: 1, bar: 'baz'}
console.log(Object.values(o));

事实上,如果我在Firefox开发人员工具控制台中运行此代码,我会获得预期的输出:

Array [ 1, "baz" ]

但在REPL of node.js中,我被告知Object.values不是函数。 虽然存在其他Object构造函数方法 ,例如is()freeze()

为什么会这样,我怎么能事先知道节点REPL支持什么以及它不支持什么?

2 个答案:

答案 0 :(得分:2)

这完全取决于您安装的Node版本。有关功能兼容性,请参阅https://node.green/

https://node.green/#ES2017-features-Object-static-methods-Object-values回答您的具体问题。

答案 1 :(得分:0)

在运行repl之前使用node --version,或在repl中检查process.versions。 知道版本后,您可以结帐http://node.green,您将确切知道会发生什么。

我们可以猜测你正在运行Node< 7.x,您可能想要升级到最新的LTS。