개념
let user = { key1: value1, key2: value2};
- 키(key)와 값(value) 사이에는 콜론(:)으로 구분한다.
- 객체를 시작할 때는 중괄호(curly bracket)로 시작한다.
- 객체는 키-값 쌍(key-value pair)으로 이루어져 있으며, 각 쌍은 쉼표로 구분한다.
📍 객체는 언제 사용하나요?
- 한 데이터가 다양한 속성을 가지고 있는 경우에 객체를 사용하면 좋다
(ex. 한 사람에 대한 이름, 이메일, 주소 등을 담고자하는 주소록)
- 배열을 사용할 경우 변수만을 선언할 때보다는 관계성이 생기기는 하지만 index로 접근해야하므로 가독성이 떨어진다.
📍 객체의 값을 사용하는 방법
- Dot notation
user.key1;
user.key2;
- Bracket notation
user['key1'];
- bracket notation의 경우 key값이 동적으로 변할 때 유용하다.즉, []안에 문자열 형태의 키값 대신 변수를 넣어주면 된다!
📍 객체의 키-값 추가 / 삭제
- dot/bracket notation을 이용해 값을 추가할 수 있다.
- 예)
tweet['category'] = '잡담';
tweet.isPublic = true;
tweet.tags = ['#코드스테이츠', '#프리코스'];
- delete 키워드를 이용해 삭제가 가능하다.
- 예)
delete tweet.createdAt;
- in 연산자를 이용해 키가 있는지 확인할 수 있다.
- 예)
'content' **in** tweet;
Check-point
- 배열 및 객체 구조를 이해하고 어떻게 사용하는 지 이해할 수 있다.
- 배열과 객체의 특징을 구분하여 사용할 수 있다. (순서를 가진다, 의미를 가진다)
- 배열과 객체의 특징에 따라 실생활에서 언제 쓰여야 하는지 이해할 수 있다.
- 객체 속성(property)의 추가, 조회, 변경, 삭제를 자유자재로 할 수 있다.
- 객체 속성 조회법 두 가지, dot notation과 bracket notation의 차이를 이해한다.
- tweet.content와 tweet['content']의 차이가 무엇인지 확실히 이해한다.
- obj.a = "hello" 와 같은 이질적인 객체 할당 방식을 능숙하게 다룰 수 있다.
- 객체 속성 삭제를 위한 delete 키워드를 사용할 수 있다.
- 객체를 위한 for문 for ... in 문의 기본을 이해하고 다룰 수 있다.
- 배열과 객체, 반복문을 응용하여 능숙하게 대량의 정보를 다룰 수 있다.