Javascript Node.js 0.12中提供的ECMAScript 6功能
Node.js(0.12)的一个新的稳定版本最近登陆,升级了Google的v8 JavaScript引擎v3.28.73 Node.js中当前存在哪些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标志,而我发现其中一些功能在默认情况下处于启用状态(地图、集合、符号等等)。更新:从此可用 另外,试图在谷歌
--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规范中被
- (在<代码>--和谐代理标志后面)
我想就这些了。如果我忘了什么,也许我以后会把它添加到列表中。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