ES6排名前十位的最佳特性列表:
1.默认参数
2.模板文本
3.多行字符串
4.解构赋值
5.增强的对象文本
6.箭头函数
7.Promise
8.块作用域构造Let和Const
9.Class类
10.Modules模块
1.默认参数
在ES6中,可以直接把默认值放在函数声明里:
// 新的JavaScript定义方式
var link = function(height = 50, color = 'red', url = 'http://baidu.com ')
{
...
}
2.模板文本
在其他语言中,使用模板和插入值是在字符串里输出变量的一种方式。因此在ES5中,开发者可以这样组合一个字符串:
// ES6之前方式只能使用组合字符串方式
var name = 'Your name is ' + first + ' ' + last + '.';
var url = 'http://localhost:3000/api/messages/' + id;
在ES6中,可以使用新的语法$ {NAME},并将其放在反引号里:
// 支持模板文本
var name = `Your name is ${first} ${last}. `;
var url = `http://localhost:3000/api/messages/${id}`;
3.多行字符串
ES6的多行字符串是一个非常实用的功能。在ES5中,我们不得不使用以下方法来表示多行字符串:
// 多行字符串
var roadPoem = ’江南好,风景旧曾谙。'
+ ’日出江花红胜火,'
+ ’春来江水绿如蓝。'
+ ’能不忆江南?'
+ ’忆江南·江南好’;
然而在ES6中,仅仅用反引号就可以解决了:
// 支持多行文本的字符串
var roadPoem = `江南好,风景旧曾谙。
日出江花红胜火,
春来江水绿如蓝。
能不忆江南?
忆江南·江南好`;
4.解构赋值
解构可能是一个比较难以掌握的概念。我们先从一个简单的赋值讲起,其中house和mouse是key,同时house和mouse也是一个变量,在ES5中是这样的:
var data = $('body').data(); // data拥有两个属性house和mouse
house = data.house;
mouse = data.mouse;
在Node.js中用ES5是这样的:
var jsonMiddleware = require('body-parser').jsonMiddleware ;
var body = req.body; // body两个属性username和password
username = body.username;
password = body.password;
在ES6中,可以使用以下语句来代替上面的ES5代码:
var {