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

  • ECMAScript 2015 ES6 in Nodejs译
    • 有哪些特性在Nodejs中是默认开启的不需要设置运行时标志位
    • Which features are behind the es_staging flag
    • Which features are in progress
    • I have my infrastructure set up to leverage the harmony flag Should I remove it
    • How do I find which version of V8 ships with a particular version of Nodejs

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

Node.js是建立在V8引擎的基础上。通过保持对该引擎最新发布版的更新,我们可以确保能够将(JavaScript ECMA-262 specification)[http://www.ecma-international.org/publications/standards/Ecma-262.htm] 中的新特性能够及时的提供给Node.js开发者们,就像我们借助该引擎保持性能和稳定性的持续改进一样。
所有ECMAScript2015(ES6)特性被分为 shipping, stagedin progress三个部分:

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

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

  • 块级作用域(中文参考:let和const命令)
    • let(需开启严格模式)
    • const
    • 块级函数作用域(需开启严格模式)
  • Classes(需开启严格模式,中文参考:Class)
  • 集合类型(中文参考:Set和Map数据结构)
    • Map
    • WeakMap
    • Set
    • WeakSet
  • Typed Arrays(中文参考:TypedArray视图)
  • Generator函数(中文参考:Generator函数)
  • 二进制和八进制表示法(中文参考:二进制和八进制表示法)
  • 对象字面量增强(中文参考:对象的扩展)
  • Promises对象(中文参考:Promise对象)
  • 字符串的扩展(中文参考:字符串的扩展)
  • Symbols(中文参考:Symbol)
  • 模版字符串(中文参考:模版字符串)
  • 箭头函数(中文参考:箭头函数)
  • new.target [2]
  • Object.assign()(中文参考:Object.assign())
  • 变量的解构赋值(中文参考:变量的解构赋值)

Which features are behind the –es_staging flag?

Which features are in progress?

I have my infrastructure set up to leverage the –harmony flag. Should I remove it?

How do I find which version of V8 ships with a particular version of Node.js?

你可能感兴趣的:(node.js,ES6)