티스토리 뷰
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
링크
TAG
- 대괄포 표기법
- 객체의 프로퍼티
- offsetTop
- 링크막기 #a링크막기
- 불일치 연산자
- constructor
- @font-face
- outerHeight
- scrollTop
- 동치 연산자
- 부등 연산자
- [[Prototype]]
- clinetTop
- prototype 프로퍼티
- property
- javascript class
- innerHeight
- scrollHeight
- __proto__
- 동등 연산자
- 일치 연산자
- 점 표기법
- 프로퍼티
- offsetHeight
- clientHeight
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함