如何得知我当前使用的Node.js支持哪些ES6的特性

96
goddyzhao
2016.07.20 08:22* 字数 509

问题背景
Node.js的朋友们都知道,自从Node.jsio.js两个项目一言不合分开了,最后又合并并成立了Node基金会Node.js项目的开发就迈入了火箭般地高速进展中。同时也分成了LTS (Long Term Support)非LTS两个版本。这里顺便再科普下,偶数的都是LTS版本,奇数的都是非LTS版本。比如当前的4.x.x就是LTS版本,6.x.x就是未来的LTS版本(2016年10月后),而5.x.x和7.x.x就是非LTS版本,具体可以参看官方的LTS发布计划图。这两个版本的区别就是:LTS稳定但新特性少,非LTS就会积极地更新V8从而获得最新的语言层面新特性的支持。大家最关心的就是对ES6(也就是ES2015)语法的支持。那么问题来了:我怎么样才能知道我当前所使用的Node.js共支持哪些ES6的语法呢?

解决方案一:自己通过Node REPL试
这个办法很简单粗暴,直接在Node环境中试就行了,如果不支持,就会报错。运行正常就说明支持。

解决方案二:看node.green文档
这个办法也是本文要推荐的一个办法,如果你想一览Node不同版本对所有ES6的特性支持情况,就可以参看node.green这个网站,该网站基于ECMAScript 6 Compatibility Table做了一个Node.js专用版。通过这个网站可以非常直观的看到不同版本Node.jsES6特性的支持情况,并且每个特性旁边都有该特性的示例。

当然了,最理想的是你的编辑器直接能够对你编写的ES6的代码进行提示,当前Node.js环境是否支持。

Node.js