ECMAScript 2015 (ES6) in Node.js(译)

作者:link

原文:https://nodejs.org/en/docs/es6/

ECMAScript 2015 (ES6) in Node.js(译)

Node.js是建立在V8引擎的基础上。通过保持对该引擎最新发布版的更新,我们可以确保能够将JavaScript ECMA-262 specification 中的新特性能够及时的提供给Node.js开发者们,就像我们借助该引擎保持性能和稳定性的持续改进一样。

所有ECMAScript2015(ES6)特性被分为 shipping, stagedin progress三个部分:

  • shipping特性是V8认为已经稳定的特性,Node.js默认提供这些特性,而不需要额外的运行时标志位来开启。
  • Staged特性,是V8团队认为已经几乎完成但还不够稳定的特性,需要用运行时标志位: --es_staging (或者它的同义词, --harmony)来开启这些特性。
  • In progress特性可以分别通过它们各自harmony标志位来开启(例如:--harmony_destructuring),但是强烈不建议使用它们,除非只是出于测试的目的。

有哪些特性在Node.js中是默认开启的(不需要设置运行时标志位)?

傻逼了,文章都还没写完,Node.js 6.0+就出来了!号称覆盖93%的ES6特性!这不是打我的脸嘛!

哪些特性还是在未完成状态?

新的特性正在不断地加入V8引擎。一般来说,虽然这些新特性未来在Node.js中落地的时间并不确定,但是我们依然可以抱有期待。 你可以通过--v8-options参数在列出Node.js各个发行版中的进行中的特性。但需要注意的是,这些特性并没有完成,并且有在未来被V8废弃的风险,所以你需要自己承担使用它们的风险。

node --v8-options | grep "in progress"

我现有的生产环境中已经使用了--harmony标志位,我应该移除它吗?

--harmony标志位在当前版本的Node.js中已经成了过去式。在这之后,我们可以使用它的同义词--es_staging。如前所述,有一些已经完成的特性,还没有被考虑为stable状态。如果你想安全地使用它们,特别是在生产环境中使用它们,最好等到V8和Nodejs将它们设置为默认属性后,并且可以不再使用运行时标志位来开启它们。如果你坚持开启这个标志位,你需要做好未来V8升级后会破坏你目前代码的准备,因为V8有可能改变这些特性的语义,而使它们更加接近标准。

我怎么确定特定版本的 Node.js 使用的是哪一个版本的V8引擎?

Node.js提供了一个简单的方法来列举V8引擎的版本号:

node -p process.versions.v8

原文链接:http://ivweb.io/topic/57313ea18d1e0fb5473b1c73

原文链接:

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏码洞

如履薄冰 —— Redis懒惰删除的巨大牺牲

之前我们介绍了Redis懒惰删除的特性,它是使用异步线程对已经删除的节点进行延后内存回收。但是还不够深入,所以本节我们要对异步线程逻辑处理的细节进行分析,看看A...

9510
来自专栏余林丰

JVM入门——运行时数据区

jdk1.7.0_79  ?   这张图我相信基本上对JVM有点接触的都应该很熟悉,可以说这是JVM入门的第一课。其中的“堆”和“虚拟机栈(栈)”更是耳熟能详。...

21050
来自专栏JavaQ

Java研发方向如何准备BAT技术面试答案(上)

最近因为忙于工作,没时间整理,本篇是下班后晚上抽空整理的,文中部分答案本来是想自己好好整理一份的,但是时间真的很紧,所以就整理了一下网络上的文章链接,挑了写的不...

38050
来自专栏逸鹏说道

C# 温故而知新: 线程篇(三)上

线程同步篇 (上) 线程同步中的一些重要概念 临界区(共享区)的概念 基元用户模式 基元内核模式 原子性操作 非阻止同步 阻止同步 详解Thread...

29460
来自专栏钟绍威的专栏

jvm内存溢出分析内存溢出是什么?内存溢出和内存泄漏有什么区别?用到的jvm参数分析解决方法分析

概述 jvm中除了程序计数器,其他的区域都有可能会发生内存溢出 内存溢出是什么? 当程序需要申请内存的时候,由于没有足够的内存,此时就会抛出OutOfMemor...

40950
来自专栏日常分享

Java 访问权限控制 小结

总所周知,Java提供了访问权限修饰词,以供类库开发人员向客户端程序员指明哪些是可用的,哪些是不可用的。

26010
来自专栏IMWeb前端团队

ECMAScript 2015 (ES6) in Node.js(译)

本文作者:IMWeb link 原文出处:IMWeb社区 未经同意,禁止转载 原文:https://nodejs.org/en/docs/es6/ ...

199100
来自专栏CaiRui

Bash Shell 小试牛刀

一、终端打印 [root@cai ~]# echo welcome to bash! welcome to bash! [cairui@cai ~]$ echo...

19160
来自专栏木宛城主

Unity应用架构设计(8)——使用ServiceLocator实现对象的注入

对象的 『注入』 是企业级软件开发经常听到的术语。如果你是一个 Java 程序员,一定对注入有着深刻的映像。不管是SSH框架还是SSM框架,Spring 全家...

24080
来自专栏Android机动车

走进JVM

Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动...

11520

扫码关注云+社区

领取腾讯云代金券