ES6入门笔记(一)
安装babel
由于浏览器对ES6的支持还不是很好,编写ES6代码前我们要安装一个babel工具将ES6代码编译成ES5代码,用如下命令安装babel:
npm install -g babel-core //安装babel核心库
npm install -g babel-cli //安装babel命令行工具
安装成功后,我们将a.js的ES6代码编译为b.js的ES5代码的命令为:
babel a.js -o b.js
这里要注意由于babel最新版本还有对jsx,ES7等规范的支持,所以还要在当前目录新建一个.babelrc文件来指定当前使用JS的候选版本,其内容为:
{
"presets": ["es2015"] //指定当前JS版本为es2015
}
区块作用域let与常量const
ES6里用let声明具有区块作用域的变量,什么是区块作用域,学习过C,C++,Java等语言的同学都知道,如循环、if/else等、或用花括号代码块里声明的变量是具有作用域的,超出该范围即无法使用,js一直没有这个概念,ES6补上了这个缺口。
用const声明的常量无法在后面的代码中改值。
Spread表达式
ES6里还有一个很方便的就是spread表达式,举个例子:
function cook(dessert, ...drink) {
let temp = dessert;
for (let i = 0; i < drink.length; ++i) {
temp += ',' + drink[i];
}
console.log(temp);
}
cook('cake', 'juice', 'cola');
// 运行结果为 cake,juice,cola
...后声明的drink里以数组的形式存放了函数的剩余参数,是不是很方便。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。