Javascirpt object literal syntax

자바스크립트가 es6 로 넘어가면서 객체 리터럴 문법이 강화되었다.


1. 객체 안의 객체를 사용할 때

1
2
3
4
5
6
7
8
const time = {
  open: 12,
  close: 17,
};
 
const restaurant = {
  name: "www",
  time,
}
                                                 cs

restaurant의 time은 객체이다. 그리고 time 객체는 restaurant 객체 밖 에다가 정의했다.


2. 매쏘드를 사용할 때

1
2
3
4
5
6
7
const restaurant = {
  name: "www",
  menu : ['pizza','hambuger','chicken'],
  orderMenu(orderIndex){
      console.log(this.menu[orderIndex]);
  }
};
                            cs

객체에서 메쏘드를 작성할때 표현식으로 작성했지만 다음과 같이 작성해도 문제 없다.

개인의 취향이다.


3. 특성 이름을 계산 할 수 있다!!

1
2
3
4
5
6
const menu = ["pizza", "hambuger", "chicken"];
 
const restaurant = {
  name: "www",
  [menu[0]]: "good!",
};
                       cs

menu[0] 은 미리 작성한게 아니라 계산된 뒤에 특성 이름이 결정된 것이다. 활용을 많이 할 수 있을 것으로 예상된다.







댓글

이 블로그의 인기 게시물

Javascript this keyward

Javascript Object vs Primitives (Primitives vs reference type)

javascript 15 switch statement