明天小编更新的这篇文章绝对比拟好了解,一个是对对象的扩大,和之前es6中的数组扩大很相似,另外对Promise的扩大,也在query中的ajax相似,外部没有很多,所以小编将这两块内容放在一起更新。期待着大家一起提高。大家还能够关注我的微信公众号,蜗牛全栈。
一、对象拓展
1、es6中的数组拓展运算符
const arr1 = [1,2,3]const arr2 = [4,5,6]const arr3 = [...arr1,...arr2] // [1,2,3,4,5,6]
2、克隆对象
const obj1 = { name:"lilei", age:12 }const obj2 = { work:"teacher"}
// 克隆对象:深拷贝const obj3 = {...obj1} // {name:"lilei",age:12}obj1.age = 18console.log(obj3) // {name:"lilei",age:12}
3、合并对象:如果属性有雷同的,前面的属性值会替换掉后面的属性值
const obj1 = { name:"lilei", age:12}const obj2 = { work:"teacher", age:20}const obj4 = {...obj1,...obj2}console.log(obj4) // {name:"lilei",age:20,work:"teacher"}
4、残余运算符:作为参数的时候,必须放在最初,否则会报错
const obj1 = { name:"lilei", age:34, work:"teacher", course:"es"}const {name,age,...rest} = obj1console.log(name) // lileiconsole.log(name) // 34console.log(rest) // { work:"teacher",course:"es"}
二、Promise扩大:finally(异步执行完结之后要执行的内容,必须加载中交互完结和数据库操作之后敞开数据库连贯)
new Promise((resolve,reject) => { setTimeout(() => { resolve('success') },1000)}).then(res => { console.log(res)}).catch(err => { console.log(err)}).finally(() => { // 相似ajax外面的complete console.log('finally')}) // success finally