ES9物件和Promise的擴充套件
阿新 • • 發佈:2021-07-01
今天小編更新的這篇文章相對比較好理解,一個是對物件的擴充套件,和之前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 = 18 console.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} = obj1 console.log(name) // lilei console.log(name) // 34 console.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