js中的解构赋值和剩余参数

231 阅读1分钟

解构赋值 + 剩余参数

对象

    // 对象
    const { name, ...rest } = person
    console.log('name',name)
    console.log('rest',rest) // 剩余属性组成的新对象

image.png


数组

    const [a, , , ,...r] = [1,2,3,4,5,6,{name: 'xxx', age: 18}]
    console.log('a',a)
    console.log('r',r) // 剩余值组成的新数组

image.png


函数形参

    // 函数中的形参
    const f = (x, ...rest) => {
      console.log('x',x)
      console.log('rest',rest) // 传入的多余参数所组成的数组
    }
    f(1,2,3,4,5,[6,7],true,{name: 'wjd', age: '18'})

image.png


浅拷贝

    // 浅拷贝
    const personNew1 = {...person}
    const personNew2 = {...person, name: 'clp', desc: 'a  man'} // 新值替换旧值
    console.log('personNew1',personNew1)
    console.log('personNew2',personNew2)

image.png