객체
- 다양한 타입의 값(원시 값 또는 다른 객체)을 하나의 단위로 구성한 복합적인 자료구조
- 0개 이상의 프로퍼티로 구성된 집합
- 프로퍼티 : 객체의 상태를 나타내는 값(키와 값으로 구성)
- 메서드 : 프로퍼티(상태 데이터)를 참조하고 조작할 수 있는 동작(프로퍼티 값이 함수일 때, 일반 함수와 구분하기 위해 메서드라고 부름.)
var person = {
name: 'Lee',
age: 20
};
리터럴
- 사람이 이해할 수 있는 문자/약속된 기호를 사용해 값을 생성하는 표기법
{}
) 내에 0개 이상 프로퍼티 정의var person = {
name: 'Lee',
sayHello: function(){
console.log(`Hello! My name is ${this.name}`);
}
};
- 프로퍼티 키: 빈 문자열을 포함하는 모든 문자열 또는 심벌 값
- 식별자 네이밍 규칙을 준수하지 않으면 따옴표가 필수인 등 번거로우니 웬만하면 규칙에 맞게 네이밍 하자!
- 프로퍼티 값: 자바스크립트에서 사용 가능한 모든 값
[프로퍼티 키]
로 표현var obj = {};
var key = 'hello';
obj[key] = 'world';
1. 마침표 표기법 :
.
사용
- 네이밍 규칙 준수한 경우에만 사용 가능
2. 대괄호 표기법 :
[...]
사용
- 반드시 따옴표로 감싼 문자열이어야 함 (숫자로 이뤄진 문자열 제외)
존재하지 않는 프로퍼티 접근 시 undefined 반환(에러 X)
delete
연산자 사용let x = 1, y = 2;
const obj = {x, y};
[프로퍼티 키로 사용할 표현식]