728x90
객체의 새로운 이름 지정
const restaurant = {
name: 'Classico Italiano',
location: 'Via Angelo Tavanti 23, Firenze, Italy',
categories: ['Italian', 'Pizzeria', 'Vegetarian', 'Organic'],
starterMenu: ['Focaccia', 'Bruschetta', 'Garlic Bread', 'Caprese Salad'],
mainMenu: ['Pizza', 'Pasta', 'Risotto'],
openingHours: {
thu: {
open: 12,
close: 22,
},
fri: {
open: 11,
close: 23,
},
sat: {
open: 0,
close: 24,
},
},
}
// 새로운 이름 지정
const {
name: restaurantName,
openingHours: hours,
categories: tags,
} = restaurant;
console.log(restaurantName, hours, tags);

기본값 지정
배열에서와 마찬가지로 해당 값이 없을 때를 대비한 기본값을 지정할 수 있습니다.
const { menu = [], starterMenu: starters = [] } = restaurant;
console.log(menu, starters);

객체의 값 바로 대입하기
let a = 111;
let b = 999;
const obj = { a: 23, b: 7, c: 14 };
// 중괄호로 시작했을 시 괄호로 감싸줘야 한다.
({ a, b } = obj);
console.log(a, b);

중첩된 객체 분해하기
맨 위 코드의 openingHours 객체에는 여러가지 객체가 중첩되어있습니다.
es6문법을 통해 쉽게 분해할 수 있습니다. (나중에 es6에 대한 포스팅을 하겠습니다)
const {
fri: { open, close },
} = openingHours;
console.log(open,close);
// 이름 지정하기
const {
fri: { open: o, close: c },
} = openingHours;
console.log(o,c);

728x90
'Javascript' 카테고리의 다른 글
| javascript - rest element (0) | 2021.08.09 |
|---|---|
| javascript - spread operator 사용법 (0) | 2021.08.09 |
| javascript 배열 trick (0) | 2021.08.04 |
| 자바스크립트 - object 복사 (object.assign) (0) | 2021.08.01 |
| 자바스크립트 - Primitive type vs Reference type (0) | 2021.08.01 |