ES6编程风格

1、块级作用域

使用let和const

2、解构赋值

let arr = [1,2,3,4,5,6,7,8,9];

let [a,b,c] = arr;

let obj = {foo:'aaa',bar:'bbb'};

let {bar,foo} = obj;//bar等于'bbb',foo等于'aaa' (按照属性值取值)

function fn({foo,bar}){...}

function fn(input){

    //优先使用对象解构赋值返回,这样方便以后添加返回值或者更改返回值顺序

    return {value01,value02,value03};

}

3、字符串模版

let name = '嘻嘻';

let text = `你好${name}`;

4、箭头函数

[1,2,4].map((x)=>{

    ....

});

5、扩展运算符

将数组转为用逗号分隔的参数序列

var arr = [1,2,3];

var arrCopy = [...arr];//复制数组

用于函数的调用

var array = [4,5];

arr.push(...arr);//用于函数的调用

Math.max(...array);

合并数组

var array2 = [7,8,...arr];//合并数组

与解构赋值结合

var [a,...b] = [1,2,3,4,5,6];//b等于[2,3,4,5,6] (与解构赋值结合)

将字符串转为数组

var strArr = [..."lichenglong"];//返回["l", "i", "c", "h", "e", "n", "g", "l", "o", "n", "g"],将字符串转为数组

任何类似数组都可以使用扩展运算符,将其转为真正的数组

var nodeList = document.querySelectorAll("div");

var nodeArray = [...nodeList];//任何类似数组都可以使用扩展运算符,将其转为真正的数组

只要具有Itetator接口的对象,都可以使用扩展运算符

var go = function*(){

    yield 1;

    yield 2;

    yield 3;

}

var arr = [...go()]//[1,2,3] ==> 只要具有Itetator接口的对象,都可以使用扩展运算符

6、属性的简洁表达法

var obj = {

    fn(){...}

}

猜你喜欢

转载自my.oschina.net/lcl6659/blog/1802569
今日推荐