Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js 0.12中提供的ECMAScript 6功能_Javascript_Node.js_V8_Ecmascript 6 - Fatal编程技术网

Javascript Node.js 0.12中提供的ECMAScript 6功能

Javascript Node.js 0.12中提供的ECMAScript 6功能,javascript,node.js,v8,ecmascript-6,Javascript,Node.js,V8,Ecmascript 6,Node.js(0.12)的一个新的稳定版本最近登陆,升级了Google的v8 JavaScript引擎v3.28.73 Node.js中当前存在哪些ECMAScript 6功能,而不使用--harmony标志? 我查看了几个声称列出ES 6功能的网站,但所有这些功能似乎都过时了——最突出的是(更新:现在更新为0.12的当前Node.js状态),因为其中一些功能被列为需要--harmony标志,而我发现其中一些功能在默认情况下处于启用状态(地图、集合、符号等等)。更新:从此可用 另外,试图在谷歌

Node.js(0.12)的一个新的稳定版本最近登陆,升级了Google的v8 JavaScript引擎v3.28.73

Node.js中当前存在哪些ECMAScript 6功能,而不使用
--harmony
标志? 我查看了几个声称列出ES 6功能的网站,但所有这些功能似乎都过时了——最突出的是(更新:现在更新为0.12的当前Node.js状态),因为其中一些功能被列为需要
--harmony
标志,而我发现其中一些功能在默认情况下处于启用状态(地图、集合、符号等等)。更新:从此可用

另外,试图在谷歌上搜索这些信息纯粹是为了v8引擎提供太多的最新信息——当前的v8版本是4.2.*,这比Node.js使用的版本要早得多

我希望这个问题(及其答案)将成为Node.js开发人员现在可以使用的ES 6功能的全面总结

Node.js 0.12中启用的ES 6功能我目前知道:
  • 映射、集/弱映射、弱集
  • 象征
  • 反对,观察
  • 许诺
    • 伊森特格先生
    • 伊萨芬特格先生
    • 伊斯南先生
    • 埃普西隆先生
    • .MIN\u安全\u整数
    • .MAX\u安全\u整数
  • 数学
    • .clz32
    • 伊穆尔先生
    • .签名
    • .log10
    • .log2
    • .log1p
    • .expm1
    • 科什先生
    • sinh先生
    • 谭先生
    • 阿科什先生
    • 阿辛先生
    • 阿塔恩先生
    • 特鲁克先生
    • 弗劳德先生
    • .cbrt
    • .海波

没有
的功能--harmony
标志:

  • ,(已在问题中指定)
  • (已在问题中指明)
  • (已在问题中指明)
  • 数组方法:
  • 对象:
    • (最初是,但在2015年11月2日)
    • .getNotifier()(例如,不是es6)
    • .apply()和.call()(不是es6,与Function.prototype.call和Function.prototype.apply用途相同)
  • 编号属性和方法(已在问题中指定)
  • 数学方法()(已在问题中指定)
我认为这就是我们在没有和谐旗的情况下所拥有的一切

带有
--harmony
标志的功能:

  • (与
    io.js
    相比,无需使用
    ——harmony\u arrow\u函数
    标志)
  • -仅在
    严格模式下
  • 字符串方法:

    • (在实际ES6规范中被
      includes()
      取代)
  • (在<代码>--和谐代理标志后面)


我想就这些了。如果我忘了什么,也许我以后会把它添加到列表中。

ES6的功能会分阶段进入Node。Node使用Google的V8作为JavaScript引擎。Node中支持的功能意味着它首先必须在V8中实现,然后Node团队必须将其合并到Node.js中

谷歌的团队大约每六周发布一个新版本的V8,然后由节点团队来使用它

手动整理的语言功能列表很不错,但很快就会过时。Node 0.12不再是一个不断变化的版本,但通常在Node的新版本推出后,手动整理的列表就会过时

这里有两种替代方法可以检查节点版本支持哪些功能,而不依赖于静态列表。要进一步阅读和更详细的使用示例,您可以检查

#1易兼容表 一个动态生成的列表依赖于小测试来确认语言功能的存在,它可以更好地保持最新状态。一个这样的流行列表是kangax.github.io/compat table/es6/。我们只对节点功能感兴趣,因此您可以使用

它利用与kangax站点相同的数据

#2硬-回溯V8版本 Node使用V8引擎,因此确定Node中包含哪个版本的V8会告诉我们支持哪些ES6语言功能。您可以通过
Node-p process.versions.V8
找出哪个版本的V8捆绑在Node中

$ node -p process.versions.v8
4.6.85.31

然后使用Google的V8项目资源,您可以找到每个版本中实现的功能。V8项目保留了一个列表,您可以在其中找到标有harmony标签的ES6+beyond功能。

“我希望这个问题(及其答案)能够解决。”将成为Node.js开发人员现在可以使用的ES 6功能的一个全面总结。“-很可能它将变成一个杂乱无章的烂摊子…这和所有其他资源一样过时!!除非你1)自己回答,2)花时间将其他答案整理到你的答案中。如果您准备好做这项工作,那么在博客中做可能更合适。或者切换到(提供了更为最新的V8版本)并关注.Curated ES6兼容性表:@JonathanLonowski有趣,奇怪的是我找不到关于节点0.12的问题/PR。编辑:提交了一个@RobertRossmann-任何人都可以拥有一个博客。我不怀疑你的目标。只是我觉得这行不通。。。除非有人(例如>>YouEfforts)这正是我希望得到的答案-干净,并带有指向文档/示例的链接!在
--harmony
标志下列出功能的额外要点。:)字符串模板是否带有
--harmony
?与后面的勾号
${varname}
字符串语法一样?@Sukima Node v0.12不支持,也不支持
--harmony
标志,也不支持。但是
iojs
supp