ES6技巧总结

展开运算符

合并功能

例1

let state = { name: "jack" }
{...state, { name: "finley" }}
// 返回
{name: "finley"}

例2

var arr1 = ['two', 'three'];
var arr2 = ['one', ...arr1, 'four', 'five'];
// 结果
["one", "two", "three", "four", "five"]

拷贝功能

var arr = [1,2,3];
var arr2 = [...arr]; // 和arr.slice()差不多
arr2.push(4)

记住:数组中的对象依然是引用值,所以不是任何东西都“拷贝”过去了。

例3

let ab = { ...a, ...b };
// 等同于
let ab = Object.assign({}, a, b);

module 模块

用default导出的话,import时就不用大括号,因为default只有一个。

async 和 await

async 表示函数里有异步操作
await 表示紧跟在后面的表达式需要等待结果。
async 函数返回一个 Promise 对象

例1

const demo = async function() {
     // await 后面接表达式
    await alert(1);
}
// async 函数返回一个 Promise 对象
demo().then(res => console.log(1))

你可能感兴趣的:(ES6技巧总结)