티스토리 뷰

이론/JS

[JS] 객체의 property name(=key)

millfeel1298 2021. 2. 9. 17:02

property name(=key) 제약사항

  • 이름의 첫 문자는 숫자로 시작할 수 없다.
  • $와 _를 제외한 특수 문자가 없어야 한다.
  • 이름에 공백이 있을 경우, 따옴표를 사용한다.
  • 예약어를 사용할 수 없다.
  • 문자형이나 심볼형에 속하지 않은 값은 문자열로 자동형 변환한다.
let fruits = {
  apple: 'ok',
  1banana: '첫번째 문자에는 숫자가 있으면 안돼요', // -------------------------- 에러
  water_melon: 'ok',
  orange$: 'ok',
  korean-melon: '특수문자는 _, $ 외에는 쓸 수 없어요.', // --------------------- 에러
  sweet grape: '공백이 있을 경우, 따옴표를 사용해야 한다.', // --------- 에러
  'sweet grape': 'ok'
};

계산된 프로퍼티

객체를 만들 때 객체 리터럴 안의 property name이 대괄호로 둘러싸여 있는 경우

*대괄호 표기법을 모르는 경우

let fruit = prompt('어떤 과일을 구매하시겠습니까?');

let bag = {
    [fruit] : 5
};
let num = {
  [1+2] : 'name은 3이다.' //대괄호에 표현식은 계산이 된 뒤 문자열로 변환된다.
};

num['3'];
num[3]; // 문자열으로 자동 형변환

단축 프로퍼티

property value를 기존 변수에서 받아와 사용하는 경우가 종종있다.

function makeUser(name, age) {
  return { 
    name : name,
    age : age
  } 
}

let user = makeUser('john', 30);
user; // {name: "john", age: 30}

property name와 value의 변수가 동일하면 아래와 같이 생략할 수 있다.

function makeUser(name, age) {
  return {
    name // ----------------------------------------- 생략
    age // ------------------------------------------ 생략
  }
}
let user = makeUser('john', 30);
user; // {name: "john", age: 30}

[공부 좌표]

객체

 

[참고]

객체의 표기법

'이론 > JS' 카테고리의 다른 글

[JS] class 선언문 - 이론  (0) 2021.02.12
[JS] class - 강의  (0) 2021.02.11
[JS] 객체의 표기법  (0) 2021.02.09
[JS] 함수의 prototype 프로퍼티  (0) 2021.02.09
[JS] 객체의 종류  (0) 2021.02.09
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함