关于前端:ES9对象和Promise的扩展

39次阅读

共计 1042 个字符,预计需要花费 3 分钟才能阅读完成。

明天小编更新的这篇文章绝对比拟好了解,一个是对对象的扩大,和之前 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

正文完
 0