写点什么

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

  • 2016-05-05
  • 本文字数:1137 字

    阅读完需:约 4 分钟

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 )关注我们。

2016-05-05 19:004046
用户头像

发布了 31 篇内容, 共 11.1 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

spring-cloud-kubernetes的服务发现和轮询实战(含熔断)

程序员欣宸

java 4月月更

TASKCTL C/S客户端两种不同的登陆模式

敏捷调度TASKCTL

分布式 ETL 批量操作 自动化运维 调度任务

什么是知识库管理系统?如何搭建企业知识库系统?

小炮

企业知识管理 企业知识管理工具 知识管理系统

一文论述元宇宙、NFT及不可回避的Web3 时代

CECBC

upnp.exe进程

Sher10ck

日积月累

API对接之模板方法

Rubble

4月日更 4月月更

一文读懂在OpenHarmony轻量设备开发应用

OpenHarmony开发者

OpenHarmony OpenHarmony应用开发 轻量设备

web前端培训javaScript的内存管理机制分享

@零度

JavaScript 前端开发

关于数字货币的几点问题及回应

CECBC

读《Software Engineering at Google》(10)

术子米德

架构师成长笔记

Docker 实战教程之从入门到提高 (七)

汪子熙

Docker 容器 docker image 容器镜像 4月月更

java培训JVM内存模型和GC机制的解析

@零度

Java JVM GC

在线CSV转Plaintext(txt)工具

入门小站

工具

另一视角看元宇宙:元宇宙文化正悄然改变世界

CECBC

Camtasia Studio2022汉化版

茶色酒

Camtasia2022

Web3.0 时代,我们的生活将产生什么变化?

CECBC

Go 入门很简单:Writer和Reader接口

宇宙之一粟

接口 Go 语言 4月月更

基于云效Codeup一键恢复删库保护数据资源,程序员删库跑路不复存在

阿里云云效

云计算 阿里云 程序员 代码安全 删库保护

大数据培训Hive面试核心知识点分享

@零度

大数据 hive

打破虚拟边界的视频交互新方式,AR隔空书写的应用理念和探索实践

阿里云CloudImagine

音视频 AR 直播 视频云

[Day19]-[动态规划]分割等和子集

方勇(gopher)

LeetCode 动态规划 数据结构和算法

读《Software Engineering at Google》(08)

术子米德

架构师成长笔记

读《Software Engineering at Google》(09)

术子米德

架构师成长笔记

Linux驱动开发-外部中断的注册使用(按键为例)

DS小龙哥

4月月更

老旧项目二次开发指南

阿毛

重构 项目架构 二次开发

不同阶段的人,如何学习Rust?加入非凸,一起学习!

非凸科技

rust 招聘 编程语言‘

利用 Dio 完成数据删除操作

岛上码农

ios 跨平台 移动端开发 flutter开发 安卓开发

高效压缩位图在推荐系统中的应用

vivo互联网技术

redis 推荐 存储

区块链如何助推著原创保护

CECBC

Nocalhost - 让云原生时代的开发更高效

沃趣科技

云原生 Nocalhost 应用开发

MySQL 无法满足查询性能?北明天时选择 TDengine 实现热网监控和能源分析

TDengine

数据库 tdengine 开源 时序数据库

Node.js 6.0支持93%的ES2015语法_JavaScript_Abel Avram_InfoQ精选文章