본문 바로가기

TIL

<자바스크립트 Javascript> 객체 리터럴

- 자바스크립트에서의 객체

원시 값을 제외한 나머지 모든 것이 객체라고 봐도 무방하다. 또한 원시 타입의 값과 달리 변경 가능한 값(mutable value)이라고 할 수 있다.

 

객체는 0개 이상의 프로퍼티로 구성되며, 프로퍼티는 키와 값으로 구성되어있다. 프로터피 값이 함수일 경우에는 일반 함수와의 구분을 위해 메서드라 지칭한다.

 

 

- 객체 생성

C++이나 자바와 달리 자바스크립트의 객체 생성은 클래스와 new 연산자가 필요하지 않다. 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용하여 값을 생성하는 표기법인 리터럴을 이용하면 된다. 중괄호 내에 이를 표현하는데, 이 때의 중괄호는 코드 블럭이 아니므로 닫는 중괄호 뒤에는 세미콜론을 써주어야 한다.

var person = {
	name : 'Lee',
    sayHello : function () {
    	console.log('Hello! My name is ${this.name}.');
    }
}

console.log(person);

//결과
//{name: "Lee", sayHello: f}

 

 

- 프로퍼티

프로퍼티의 키에는 빈 문자열을 포함하는 모든 문자열 혹은 심벌 값을 사용할 수 있다. 프로퍼티의 값은 자바스크립트에서 사용할 수 있는 모든 값을 사용할 수 있다.

 

여기서 프로퍼티 키는 값에 접근 할 수 있는 식별자 역할을 한다. 다만 키가 식별자 네이밍 규칙을 따르지 않는 이름일 경우에는 따옴표를 사용해야 한다.

 

 

- 프로퍼티 접근

프로퍼티에 접근하는 방법으로는 다음의 두 가지가 있다.

1) 마침표 표기법 - 마침표 연산자(.)를 사용

2) 대활호 표기법 - 대괄호 연산자( [ ] )를 사용, 대괄호 연산자 내의 프로퍼티 키는 따옴표로 감싸야 함

var person = {
	name: 'Lee'
};

//마침표 표기법
console.log(person.name);

//대괄호 표기법
console.log(person['name']);

 

 

- 프로퍼티 값 변경

1) 값 갱신 - 이미 존재하는 프로퍼티에 값을 다시 할당하면 프로퍼티 값이 갱신된다.

2) 동적 생성 - 존재하지 않는 프로퍼티더라도 접근 연산자를 통해 값을 할당하면 프로퍼티가 동적으로 생성되어 추가되어 값이 할당된다.

3) 삭제 - delete 연산자를 사용하여 프로퍼티 삭제가 가능하다.

 

 

 

 

 

참고 : 도서 <모던 자바스크립트 Deep Dive>