코드스테이츠/예제모음
객체분해 예제
범피스트
2023. 1. 4. 13:37
const user = {name: '김코딩',company: {name: 'Code States',department: 'Development',role: {name: 'Software Engineer'}},age: 35}
const changedUser = { // {name: '박해커',company: {name: 'Code States',department: 'Development',role: {name: 'Software Engineer'}},age: 20}
...user,
name: '박해커',
age: 20
}
const overwriteChanges = { // {name: '박해커',age: 20}
name: '박해커',
age: 20,
...user // 앞에 선언된 name과 age를 덮어써버린다.
}
const changedDepartment = { //{name: '김코딩',company: {name: 'Code States',department: 'Marketing',role: {name: 'Software Engineer'}},age: 35}
...user,
company: {
...user.company,
department: 'Marketing'
}
}
expect(changedUser).to.eql({name: '박해커',company: {name: 'Code States',department: 'Development',role: {name: 'Software Engineer'}},age: 20})
expect(overwriteChanges).to.eql({name: '김코딩',company: {name: 'Code States',department: 'Development',role: {name: 'Software Engineer'}},age: 35})
expect(changedDepartment).to.eql({name: '김코딩',company: {name: 'Code States',department: 'Marketing',role: {name: 'Software Engineer'}},age: 35})
})
})