在NodeJS中启用ECMAScript 6小结(windos以及Linux)

在NodeJS中启用ES6 (harmony) 版本:

开始吧,

Linux下启用
来源: http://h3manth.com/new/blog/2013/es6-on-nodejs/

Node version : v0.11.6

先来看一看版本 harm ;) :

$ node --v8-options | grep harm
 --harmony_typeof (enable harmony semantics for typeof)
 --harmony_scoping (enable harmony block scoping)
 --harmony_modules (enable harmony modules (implies block scoping))
 --harmony_symbols (enable harmony symbols (a.k.a. private names))
 --harmony_proxies (enable harmony proxies)
 --harmony_collections (enable harmony collections (sets, maps, and weak maps))
 --harmony_observation (enable harmony object observation (implies harmony collections)
 --harmony_typed_arrays (enable harmony typed arrays)
 --harmony_array_buffer (enable harmony array buffer)
 --harmony_generators (enable harmony generators)
 --harmony_iteration (enable harmony iteration (for-of))
 --harmony_numeric_literals (enable harmony numeric literals (0o77, 0b11))
 --harmony_strings (enable harmony string)
 --harmony_arrays (enable harmony arrays)
 --harmony (enable all harmony features (except typeof))


不错,我们可以通过awk来启用所有的ES6新特性,需要跟 strict一起使用

$ node --use-strict $(node --v8-options | grep harm | awk '{print $1}' | xargs) #ES6


Windows下启用(通用方法)
来源: http://stackoverflow.com/questions/13351965/what-does-node-harmony-do

node --harmony app.js


看一个例子
作用域

关键字  let 可以让我们将变量的作用范围限定在一个代码块中

'use strict';
if (1) {
  let b = 2;
  console.log(b);  //2
}
console.log(typeof b); //undefined