이론/JS

[JS] 객체의 표기법

millfeel1298 2021. 2. 9. 17:01

객체 표기법의 종류

  1. 점 표기법
  2. 대괄호 표기법

1. 점 표기법

- property name에 공백이 있으면 사용할 수 없다.

- property name에 표현식을 사용할 수 없다.

 

[점 표기법 property value 읽는 방법]

let fruits = {
  apple: 'ok',
  water_melon: 'ok',
  orange$: 'ok',
  'sweet grape': 'ok'
};

fruits.apple; // "ok"
fruits.water_melon; // "ok"
fruits.orange$; // "ok"
fruits.sweet grape; // 에러
fruits.'sweet grape'; // 에러

 

[점 표기법 property 추가, 수정하는 방법]

// 추가
fruits.strawberry = "ok";

// 수정
fruits.strawberry = "딸기";

 

[점 표기법 property 삭제하는 방법]

delete fruits.strawberry;

2. 대괄호 표기법

- property name에 문자열을 사용할 때, 따옴표로 묶어서 사용한다. (공백도 사용 가능)

- property name에 표현식을 사용할 수 있다.

 

[대괄호 표기법 property value 읽는 방법]

let fruits = {
  apple: 'ok',
  water_melon: 'ok',
  orange$: 'ok',
  'sweet grape': 'ok'
};
fruits[apple]; // 에러
fruits['water_melon']; // "ok"
fruits['orange$']; // "ok"
fruits['sweet grape']; // "ok"

 

[대괄호 표기법 property 추가, 수정하는 방법]

// 추가
fruits['strawberry'] = "ok";

// 수정
fruits['strawberry'] = "딸기";

 

[대괄호 표기법 property 삭제하는 방법]

delete fruits['strawberry'];

 

[대괄호 표기법 표현식 사용하는 방법]

let user = {
  dDay : '0218'
};
let decimal = 'd';
let keyName = 'name';

user[decimal + 'Day']
user[keyName] = 'mill';

주의: 상수 객체는 수정될 수 있다.

const user = {
  nickName : 'mill'
};

user.nickName = '밀';
user['nickName'] = 'mill';

전체적으로 설정하려고 할 때만 오류가 발생한다.

user = {age : 15};


[공부 좌표]

리터럴과 프로퍼티

 

[참고]

객체의 property name(=key)