【这是我参与更文挑战的第 11 天,活动详情查看: 更文挑战”】
废话不多说 我们直接开始。
1. 扩展运算符{ ...} 
首当其冲的当然是我们的...——扩展运算符(展开运算符)他不仅可以对数组进行操作甚至连对象 都要礼让他三分。
咱们直接上代码吧
数据的展开
//数据的展开  在这里我们直接声明一个数组
let arr = [1, 2, 3, 4, 5]
console.log([...arr]); //1, 2,3, 4, 5
//数组的合并
let arr1 = [6, 7, 8]
  console.log([...arr, ...arr1]);  // [1, 2, 3, 4, 5, 6, 7, 8]
  
//以及将字符串转成数据
首先 咱们定一个字符串  test
let str = test
let arr2 = [...str]
  console.log([...arr2]);  // ["t", "e", "s", "t"]
复制代码剩余运算符
function num(...arr) {
    for (let item of arr) {
        console.log(item);
    }
}
  console.log(num(arr)); //1, 2,3, 4, 5
  
//赋值  
var [a,...temp]=[1, 2, 3, 4];
console.log(a); //1
console.log(temp);   //2, 3, 4  
复制代码async和await
async和await 他们两个的结合 可以让 异步代码想同步代码一样。
async
async 返回的是一个promise对象,而且 这个对象的结果是有async执行函数的返回值所决定的听到这句话 大家是不是觉得很拗口?不急,咱们先来写段代码 来缕缕。
// 首先 咱们先声明一个函数 
  function fn() {}
//那么  我们只要这这个函数前面添加上 async 这个函数 就会成为一个异步函数
  async function fn() {
    return new Promise((res, rej) => {
      res('响应OK')
    })
  }
  // const result = fn();  
  console.log(fn());// 返回的结果为 "响应OK"
//大家 可以看到的是 我一开始的时候 调用了fn()函数 并且在 函数 执行时 有返回了一个新的 promise函数, 而且 fn函数 成功的值 就是我们promise的值。
复制代码
await必须要放在async函数内部。
await的右侧一般是个promise对象。await返回的是promise成功的值,并且 如果出现错误 就会抛出错误要通过 try…cath补货处理。
  //创建一个 promise对象
  const  P = new Promise((res, rej) => {
    res('成功的值')
  })
  // await  必须放在async里面
  async function fn() {
    let result = await P  //await的返回结果是 promise返回的成功的值
    console.log(result);
  }
  fn()  //结果为 成功的值
  
  //那么失败了呢? 首先继续回到刚才的代码上面
  
  const  P = new Promise((res, rej) => {
    // res('成功的值')
    rej('失败啦')
  })
  async function fn() {
    try{
      let result = await P
    }catch(e){
      console.log(e);
    }
    console.log(result);
  }
  fn()  //结果为 失败啦
复制代码© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
    




















![[桜井宁宁]COS和泉纱雾超可爱写真福利集-一一网](https://www.proyy.com/skycj/data/images/2020-12-13/4d3cf227a85d7e79f5d6b4efb6bde3e8.jpg)

![[桜井宁宁] 爆乳奶牛少女cos写真-一一网](https://www.proyy.com/skycj/data/images/2020-12-13/d40483e126fcf567894e89c65eaca655.jpg)
