const user = { name: 'lee', age: 31, mail: 'lee@lee.com' };
const { name, age, mail, address } = user;
console.log( name ); // 'lee'
console.log( age ) ; // 31
console.log( mail ); // 'lee@lee.com'
console.log( address ); // undefined
이미 객체로 구성되어 있는 정보를 같은 속성명으로 분해하여
객체에서 필요한 값들만을 지정하여 사용할 수 있다.
const { name, age, mail, address='부산' } = user;
console.log( address ); // '부산'
기본값을 설정해 줄 수 있고
const user = { name: 'lee', age: 31, mail: 'lee@lee.com', address: '서울'};
const { name, age, mail, address='부산' } = user;
console.log( address ); // '서울'
객체에 값이 있다면 기본값을 무시하고 객체에 있는 값이 할당된다.
const { name:id, age, mail, address='부산' } = user;
console.log( name ); not defined
console.log( id ); 'lee'
할당 받을 값의 변수명을 :
을 적고 변경하여 사용할 수 있다.
const fruits = ['banana', 'apple', 'cherry', 'orange'];
console.log(...fruits); // 'banana' 'apple' 'cherry' 'orange'
전개 연산자( spread ) 를 사용하면
배열 안에 item들을 , 로 구분하며 전개한다.
function toObject(a, b, ...c) {
return {
a: a,
b: b,
c: c
}
}
console.log(toObject(...fruits));
// {a:'banana', b:'apple', c:Array(2)}
나머지를 전부 배열로 갖게 한다.