BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Node.js 6.0支持93%的ES2015语法

| 作者 Abel Avram 关注 10 他的粉丝 ,译者 任美芒 关注 0 他的粉丝 发布于 2016年5月6日. 估计阅读时间: 4 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

Node.js 6.0 正式发布了,这将是当前最新的版本。该版本包括性能的提升、更全面的测试、更完善的文档,安全性更强并且支持更广泛的ES2015语法。

Node.js 6.0 是在5.0版本(六个月前发布)之后发布的,但实际上它是Node.js 4.x的替代,从今年十月份开始它将成为下一个长期支持(LTS)版本。据IBM Node.js技术负责人 James Snell介绍,Node.js 6.0 (Current) 包括“部分性能的显著改善、提高了可靠性、可用性、安全性”。如果是生产环境需要保证稳定,Snell建议十月份以前仍使用Node.js 4.x版本。Node.js v4.x 的长期支持会持续到2017年4月,之后进入维护更新阶段。想要了解更多Node基金会标记版本的细节,我们建议阅读Node.js长期支持工作组的说明。Node.js 5.0是为喜欢尝试的勇敢者提供的过渡版本。

Node.js 6的新功能或改进中,我们主要关注:

  • 据Snell介绍,模块加载比Node.js 4.x快了近四倍。这意味着应用程序的启动会非常快。
  • 更全面的测试覆盖率
  • 更完善的文档
  • Buffer 和 File System API 的易用性得到提高

Node.js 6.0一个重大改进是使用V8 5.0,支持93%的ES2015语法。根据Kangax兼容性表,每日构建甚至支持96%的ES2015语法,包括解构(destructuring)、剩余参数(rest parameters)、类(class)以及super关键字。不支持的有直接或相互递归、迭代器关闭等其它一些语法。其中一些已经准备好了,但需要harmony flag才能使用。

在安全性方面的改进,Node.js基金会在其公告中提到:

新的Buffer API使用新的构造器创建Buffer实例,并引入了zero-fill-buffers命令行标志,这样会减少错误的风险并且避免漏洞泄露到应用程序中。使用新的命令行标志,开发人员可以继续安全地使用旧的模块,即使这些模块没有更新,没有使用新的构造器API。另外,V8改进了Math.random()的实现,使之更安全——这个特性也添加到了 Node.js v6。

另一个值得一提的改变是不再支持Windows XP和Vista。另外,由于Node.js 6使用了V8 5,所有的插件需要重新编译。完整的变化清单,我们建议阅读Snell的帖子

除了Node基金会在其公告中提到的Node.js“超过350万用户和100%的年增长速度”,npmjs公布了一些NPM统计数据:211000NPM注册用户中73000用户至少发布了一个包,每月有超过300万唯一的IPs访问NPM注册表,大约有400万用户,三月份有超过8千万的NPM会话,每星期有超过10亿的包下载量。这些数字显示出JavaScript,Node.js和NPM构建的生态系统正在蓬勃发展。

查看英文原文:Node.js 6.0 Supports 93% of ES2015


感谢张龙对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT