// ...생략 // 4. 객체 구조분해할당 방식으로 전달하기 + shorthand-property function zzz({ apple, banana }){ // const { apple, banana } = basket console.log(apple) // 3 console.log(banana) // 10 } const apple = 3 const banana = 10 // const basket = { // apple: apple, // banana: banana // } // Shorthand property 적용 // const basket = { apple, banana } zzz({ apple, banana }) // 객체 그대로 넘기기
**
중괄호{} 안에 넣어서 객체로 넘겨주게되면, 순서와 상관없이 이름으로 인수와 매개변수가 매칭되기 때문에 소괄호() 안에 넣어서 넘겨주는것 보다 안전한 코드 작성을 할 수 있습니다.
따라서, 구조분해할당을 통해 데이터 상의 오염을 막을 수 있는 것입니다.**
기존에는 함수 내부에서 Object(객체)의 데이터를 가져오기 위해서 객체명.key값을 사용해서 value값을 가져왔는데 이번에는 Destructuring(구조분해할당)을 사용해 변수명 재할당해 보겠습니다.
const user = { name: '철수', age: 13, school: '다람쥐초등학교', createdAt: '2010-09-07', } const name = user.name const age = user.age const school = user.school const createdAt = user.createdAt // 구조분해할당 const {name, age, school, createdAt} = user
const classmates = ['철수', '영희', '훈이']; const child1 = classmates[0]; const child2 = classmates[1]; const child3 = classmates[2]; // 구조분해할당을 이용해 // child1엔 arr[0] // child2엔 arr[1] // child3엔 arr[2]을 할당하였습니다. const [child1, , child2, child3] = classmates;