본문 바로가기
개발공부_Blog/JavaScript

객체리터럴

by 독서개발자 2022. 9. 17.

객체란 

자바스크립트를 구성하는 거의 모든 것이 객체이다. 원시값을 제외한 나머지 함수, 객체, 정규표현식 등을 말한다.

객체는 다양한 타입을 하나의 단위로 묶어놓은 복합적인 자료구조다.

객체는 0개 이상의 프로퍼티로 구성된 집합이며, key와 value로 구성된다.

 

 

객체 리터럴에 의한 객체 생성

객체리터럴 : ( {  } ) 중괄호로 감싸진 하나 이상의 프로퍼티(속성)와 프로퍼티 값의 리스트

자바스크립트에서 사용할 수 있는 모든 값은 프로퍼티 값이 될 수 있다. 프로퍼티값이 함수일 경우, 일반 함수와 구분하기 위해 메서드라고 부른다.

let counter ={
	num : 0,
	increase : function(){
    	this.num++ ;
	}
}

 

프로퍼티, 메서드

객체는 프로퍼티의 집합이며, 프로퍼티는 key, value로 구성된다.

 

프로퍼티property : 객체의 상태를 나타내는 값

num : 0

 

메서드method : 프로퍼티를 참조하고 조작할 수 있는 동작

increase: function(){
	this.num++;
}

 

객체는 객체의 상태를 나타내는 값(프로퍼티)와 프로퍼티를 참조하고 조작할 수 있는 동작(메서드)을 모두 포함할 수 있기 때문에 상태와 동작을 하나의 단위로 구조화 할 수 있어 유용하다.

 

 

 

프로퍼티 접근

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

마침표 표기법 : 접근 연산자 ( . )을 사용한다. 식별자 네이밍 규칙(카멜케이스 등) 을 준수하는 이름만 사용할 수 있다.

대괄호 표기법 : 접근 연산자 ( [...] )을 사용한다. 프로퍼티 키는 반드시 따옴표로 감싼 문자열이어야 한다. 

let person = {
	name: 'lee'
};

// 마침표 표기법에 의한 프로퍼티 접근
console.log(person.name);

// 대괄호 표기법에 의한 프로퍼티 접근
console.log(person['name']);

 

 

 

 

모던자바스크립트 Deepdive - 객체리터럴

프로퍼티와 메소드의 내용이 항상 헷갈렸는데 책으로 읽고보니 정의가 명확해졌다.

함수의 형태는 같은데 왜 어떤 것은 함수로, 어떤 것은 메소드로 불리는지 의문인 채 공부했었다. 객체 안에 프로퍼티가 함수로 들어가면 메소드로 불린다는 사실을 새롭게 알게 되었다. 검색으로 드문드문 알게 된 지식이 책을 통해 하나씩 정리되는 기분 너무 좋다.

댓글