ECMAScript 6 是JavaScript的下一代标准,其目标,是使得JavaScript可以用来编写复杂的应用程序、函数库和代码的自动生成器(code generator)。
在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
|