본문 바로가기

Javascript

javascript 객체 trick

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