我想知道我的NodeJS支持哪个javascript版本?
答案 0 :(得分:22)
使用process.versions。 从文档中的那个页面:
console.log(process.versions);
<强>输出强>
{ node: '0.4.12',
v8: '3.1.8.26',
ares: '1.7.4',
ev: '4.4',
openssl: '1.0.0e-fips' }
修改强>: V8使用ECMA-262,第5版中指定的 ECMAScript。
答案 1 :(得分:2)
最佳和最详细的intel版本位于https://node.green。它按JavaScript版本显示了NodeJS版本的矩阵。 JavaScript项目包括标准名称和每个js功能。节点版本包括V8版本(悬停在节点列标题上方)。
答案 2 :(得分:1)
根据其documentation,可以使用此命令;
node -p process.versions.v8
答案 3 :(得分:1)
运行此脚本:
try {
var k = new Map();
console.log("ES6 supported!!")
} catch(err) {
console.log("ES6 not supported :(")
}
try {
var k = new HashMap();
console.log("ES100 supported!!")
} catch(err) {
console.log("ES100 not supported :(")
}
答案 4 :(得分:0)
这里不尝试进行死角检查-但是,这似乎是完成此操作的方法...但是,这有点令人费解。
我所做的是-按照此处概述的方法,然后添加一些我自己的...
节点-p process.versions
{ http_parser: '2.8.0',
node: '11.2.0',
**v8: '7.0.276.38-node.11'**,
uv: '1.23.2',
zlib: '1.2.11',
ares: '1.15.0',
modules: '67',
nghttp2: '1.34.0',
napi: '3',
openssl: '1.1.0i',
icu: '63.1',
unicode: '11.0',
cldr: '34.0',
tz: '2018e' }
然后,这取决于您的平台-我的节点正在Windows 10上运行,所以...
节点--v8选项|找到“进行中”
对于Linux使用...
节点--v8选项| grep“进行中”
--harmony-do-expressions (enable "harmony do-expressions" (in progress))
--harmony-class-fields (enable "harmony fields in class literals" (in progress))
--harmony-static-fields (enable "harmony static fields in class literals" (in progress))
--harmony-await-optimization (enable "harmony await taking 1 tick" (in progress))
--harmony-locale (enable "Intl.Locale" (in progress))
--harmony-intl-list-format (enable "Intl.ListFormat" (in progress))
--harmony-intl-relative-time-format (enable "Intl.RelativeTimeFormat" (in progress))
V8实现了ECMA-262中定义的ECMAScript -我不知道有任何方法可以将其与任何其他“版本”相关联-它将告诉您仍在开发中的功能。
如果省略了用于grep / find的管道,则会列出所有v8选项的长长列表。
最后,我实际上并没有开发要在Windows 10机器上使用的Node应用程序-我正在开发Raspberry Pi的Node应用程序并使用Visual Studio Code ssh,所以-在终端提示下,我是ssh进入RPi并使用上面的Linux版本...
节点-p process.versions
{ http_parser: '2.8.0',
node: '8.11.3',
v8: '6.2.414.54',
uv: '1.19.1',
zlib: '1.2.11',
ares: '1.10.1-DEV',
modules: '57',
nghttp2: '1.32.0',
napi: '3',
openssl: '1.0.2o',
icu: '60.1',
unicode: '10.0',
cldr: '32.0',
tz: '2017c' }
节点--v8选项| grep“进行中”
--harmony_array_prototype_values (enable "harmony Array.prototype.values" (in progress))
--harmony_function_sent (enable "harmony function.sent" (in progress))
--harmony_do_expressions (enable "harmony do-expressions" (in progress))
--harmony_class_fields (enable "harmony public fields in class literals" (in progress))
--harmony_promise_finally (enable "harmony Promise.prototype.finally" (in progress))
--harmony_number_format_to_parts (enable "Intl.NumberFormat.prototype.formatToParts" (in progress))
--harmony_plural_rules (enable "Intl.PluralRules" (in progress))