根据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支持什么以及它不支持什么?
答案 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。