539 对象的rest、spread 属性

rest 参数与 spread 扩展运算符在 ES6 中已经引入,不过 ES6 中只针对于数组,在 ES9 中,为对象提供了像数组一样的 rest 参数和扩展运算符

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>对象展开</title>
</head>

<body>
  <!-- 
    Rest 参数与 spread 扩展运算符在 ES6 中已经引入,不过 ES6 中只针对于数组,
    在 ES9 中为对象提供了像数组一样的 rest 参数和扩展运算符
  -->

  <script>
    // 补充:对象的解构
    const obj = { cc: 33, dd: 44, ee: 55 }
    let { cc, dd, ee } = obj
    console.log(cc, dd, ee, typeof ee) // 33 44 55 "number"


    // rest 参数
    function connect({ host, port, ...user }) {
      console.log(host);
      console.log(port);
      console.log(user);
    }

    connect({
      host: '127.0.0.1',
      port: 3306,
      username: 'root',
      password: 'root',
      type: 'master'
    });


    // 对象合并
    const skillOne = {
      q: '天音波'
    }

    const skillTwo = {
      w: '金钟罩'
    }

    const skillThree = {
      e: '天雷破'
    }
    const skillFour = {
      r: '猛龙摆尾'
    }

    const mangseng = { ...skillOne, ...skillTwo, ...skillThree, ...skillFour };
    console.log(mangseng)

    // ...skillOne   =>  q: '天音波', w: '金钟罩'

  </script>

</body>

</html>
原文地址:https://www.cnblogs.com/jianjie/p/13680043.html