今天小編更新的這篇文章相對比較好理解,一個(gè)是對對象的擴(kuò)展,和之前es6中的數(shù)組擴(kuò)展很類似,另外對Promise的擴(kuò)展,也在query中的ajax類似,內(nèi)部沒有很多,所以小編將這兩塊內(nèi)容放在一起更新。期待著大家一起進(jìn)步。大家還可以關(guān)注我的微信公眾號,蝸牛全棧。
一、對象拓展
1、es6中的數(shù)組拓展運(yùn)算符
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 = 18
console.log(obj3) // {name:"lilei",age:12}
3、合并對象:如果屬性有相同的,后面的屬性值會(huì)替換掉前面的屬性值
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、剩余運(yùn)算符:作為參數(shù)的時(shí)候,必須放在最后,否則會(huì)報(bào)錯(cuò)
const obj1 = {
name:"lilei",
age:34,
work:"teacher",
course:"es"
}
const {name,age,...rest} = obj1
console.log(name) // lilei
console.log(name) // 34
console.log(rest) // { work:"teacher",course:"es"}
二、Promise擴(kuò)展:finally(異步執(zhí)行結(jié)束之后要執(zhí)行的內(nèi)容,必須加載中交互結(jié)束和數(shù)據(jù)庫操作之后關(guān)閉數(shù)據(jù)庫連接)
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