解构赋值 + 剩余参数
对象
// 对象
const { name, ...rest } = person
console.log('name',name)
console.log('rest',rest) // 剩余属性组成的新对象
数组
const [a, , , ,...r] = [1,2,3,4,5,6,{name: 'xxx', age: 18}]
console.log('a',a)
console.log('r',r) // 剩余值组成的新数组
函数形参
// 函数中的形参
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'})
浅拷贝
// 浅拷贝
const personNew1 = {...person}
const personNew2 = {...person, name: 'clp', desc: 'a man'} // 新值替换旧值
console.log('personNew1',personNew1)
console.log('personNew2',personNew2)