[TIL] 객체의 기초

lmimoh·2022년 9월 5일
1

TIL

목록 보기
8/26
post-thumbnail

객체의 정의

객체는 키(key)와 값(value)으로 구성된 프로퍼티(property)들의 정렬되지 않은 집합 을 의미한다. 이때 프로퍼티의 값에는 함수가 올 수 있으며, 이를 매소드라고 부른다.

즉, 객체는 중괄호 내부에 1:1의 쌍으로 이루어진 키와 값으로 구성되며, 인덱스가 존재하지 않는다.

그렇다면, 객체는 왜 사용될까?

만약에 여러가지의 데이터를 다뤄야 하는 경우, 여러개의 변수를 사용하는 것은 효율적이지 않다. 왜냐하면 각 변수는 이름으로 구분될 뿐 데이터 간의 관계성을 의미하지 않기 때문이다.

또한, 배열을 사용하게 된다면 데이터 간 관계성은 존재하지만 인덱스마다 담긴 데이터가 어떤 것인지 인지하고 있어야 한다. 즉, 인덱스로 접근할 때 해당 정보에 대한 가독성이 떨어지게 된다.

이때, 객체를 사용한다면 데이터의 관계성 을 확보하고 키(key)를 통해 데이터의 의미 를 명확하게 알 수 있다.


객체의 사용법

객체는 대괄호 내부에 키(key)와 값(value)이 1:1의 쌍 으로 존재하며, 콤마로 구분한다.

let obj = {
	name = 'mimoh'
} // array라는 객체 생성 name(key) : 'mimoh'(value) 라는 property 할당

객체의 값을 사용하는 방법은 두가지가 존재하며, 다음과 같다.

obj.name; // 'mimoh' - dot notation
obj['name']; // 'mimoh' - bracket notation
obj["name"]; // 가능
obj[`name`]; // 백틱으로 이루어진 템플릿 리터럴도 가능

//이때 bracket notation의 대괄호 내부에는 변수를 넣어 조회할 수 있다.

let key = 'name';
obj[key]; // 가능
obj[`${key}`]; // 가능

객체의 property 추가는 dot/bracket notation 을 이용해 가능하다.

obj.age = 24;
obj['gender'] = 'M';

console.log(obj);
// [name : 'mimoh', age : 24, gender : 'M']

객체의 propery 삭제는 'Delete' 키워드를 통해 가능하다.
이때, 선택된 property는 값(value)이 undefined가 되는 것이 아니라 객체 상에서 완전 삭제된다.

delete obj.age;
delete obj['gender'];

console.log(obj);
// [name : 'mimoh']

profile
성장하는 개발자, 이민훈입니다.

0개의 댓글