JS - 객체 리터럴

이호현·2021년 2월 23일
0

JS

목록 보기
12/14

객체 리터럴

const prop1 = 'name';

const obj2 = {
  add(a, b) { return a + b;}
  ,[prop1]: 'hemtory'
  ,[name + 1]: '햄토리'
};
obj2.add(1, 2);				// 3

obj2[name];				// 'hemtory'
obj2.name;				// 'hemtory'

obj2[name + 1];				// '햄토리'

기존에 객체에 함수를 속성으로 가질 때는

add: function add(a, b) { return a + b;}

위 처럼 했었지만 속성명이랑 함수명이 같으면 하나로 생략이 가능하다.
물론 일반 변수도 생략이 가능하다.

그리고 속성명에 변수를 넣어서 사용할 수도 있다.
prop1name이 할당 돼 있는데 그것을 [prop1]으로 속성명을 설정하면
prop1의 값인 name으로 접근할 수 있다.

obj2[name]같은 경우 obj2.name으로 접근할 수 있지만
obj2[name + 1]은 불가능하다.

profile
평생 개발자로 살고싶습니다

0개의 댓글