展开运算符应用

102 阅读1分钟

展开运算符应用

1.展开运算符: ...

相当于数组/对象 遍历的简写

2.展开运算符应用场景 :

(1)H5端下拉刷新: 连接数组

(2)连接对象 : 把两个盒子的数据 合成一个对象发给服务器

(3)浅拷贝数据

//(1)连接数组
        let arr = [10,20,30]
        //服务器返回了一个新数组,添加到列表后面
        let arr1 = [40,50,60]
        arr.push(...arr1)
        console.log(arr)

        //(2)连接对象
        let obj = {
            username:'admin',
            password:'123456'
        }

        let form = {
            name:'张三',
            age:20,
            ...obj
        }

        console.log( form )

        //(3)浅拷贝数据
        /* 
        浅拷贝 : 浅拷贝拷贝地址,只拷贝一层
        深拷贝 : 深拷贝拷贝数据,拷贝多层
        */

        const person = {
            name:'王五',
            age:30,
            sex:'男',
            hobby:['学习','代码','干饭']
        }

        //浅拷贝 : 拷贝地址
        const person1 = person
        person1.name = '老六'
        console.log(person1,person)//{name: '老六', age: 30, sex: '男', hobby: Array(3)}

        //需求: 拷贝person的数据, 修改拷贝后的数据不影响
        /* 原理:只拷贝person第一层数据
            const person2 = {
                name: person.name,
                age: person.age,
                sex: person.sex,
                hobby: person.hobby,
            }
        */
        const person2 = { ...person }
        person2.name = '老铁'
        console.log(person2,person)