扩展运算符

110 阅读1分钟
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        /* let arr1 = [1,2,3]; */
        /* let arr2 = [4,5,6]; */
        /* let arr3 = [1,2,3]; */

        /* 数组里面相同的内容不会被覆盖 */
        /* let newArr = [...arr1,...arr3];
        console.log(newArr); */

        /* 传统拼接数组的方法 */
        /* let newArr = arr1.concat(arr2);
        console.log(newArr); */

        /* es6之扩展运算符(...) */
        /* 把arr1和arr2给展开了 [1,2,3,4,5,6] */
        /* 用扩展运算符合并两个数组 返回一个新数组 */
        /*  let newArr = [...arr1,...arr2];
         newArr[0] = 7
         console.log(newArr); */
        /* 对原数组没影响 */
        /* console.log(arr1,arr2) */

        let obj1 = {
            name: "张三",
            age: 18,
            sex: '男'
        }
        /* 传统取值方式 */
        /*  let name = obj1.name;
         console.log(name); */

        /* es6取值方式 */
        /* es6的解构赋值 */
        /* {}就代表obj1 {name} 把obj1里面的name给取出来 */
        /* {name}中的name必须要和 obj1的key一致 */
        let { name, age, sex } = obj1;
        console.log(name, age, sex)

        /* let obj3 = {
            name:"胖胖",
            age:20,
            sex:"女",
            car:'奔驰'
        }
        let obj4 = {} */

        /*  Object.assign 第一个参数表示新对象,
        其他的参数表示要被合并的对象 返回一个新的对象*/
        /*  let newObj = Object.assign({},obj1,obj3);
         console.log(newObj); */

        /* 第二种Object.assign使用方式 */
        /* Object.assign(obj4,obj1,obj3);
        console.log(obj4) */

        /* 相同的属性会被覆盖 */
        /* let newObj = {...obj1,...obj3};
        console.log(newObj); */

        /* let obj2 = {
            car:"宝马",
            type:"5系"
        } */
        /* 使用扩展运算符来合并对象并返回一个新对象 */
        /* let newObj = {...obj1,...obj2}; */

        /* newObj.name = "迪迦"
        console.log(newObj); */
        /* 对原对象没有影响 */
        /* console.log(obj1,obj2); */


    </script>
</body>

</html>