在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