Language/JavaScript
Day7,8 : 객체(Object)와 객체 메서드
Anoi
2023. 11. 12. 17:17
객체(Object)
- 데이터를 배열과 같이 묶음으로 관리하지만 순서가 아니라 하나의 데이터의 각 카테고리별로 데이터를 관리해주는데이터 타입
- 여러 개의 property를 갖는 데이터 타입
- 각 property들은 key와 value로 이루어진다(콜론:으로 구분)

객체의 데이터에 접근하는 방법
1. Dot notation
- 객체명.접근하고 싶은 프로퍼티의 키 → 해당 키에 해당하는 value를 얻을 수 있다
- 객체의 property 중 아직 존재하지 않는 키를 추가할 수도 있다. (객체명.추가하고 싶은 속성의 키 = 할당할 value)

2. Bracket notation
- 데이터에 접근할 객체["접근하고 싶은 property의 키"] → 키와 쌍을 이루는 value를 얻을 수 있다.

※만약 [] 안에 ""를 사용하지 않는다면 변수명으로 인식하여 해당 변수 안에 있는 값이 property의 키가 되어버린다.
없는 변수라면 오류 발생

→ name이라는 값은 정의된 적 없기 때문에 undefined라는 답이 옴

→ name이라는 변수를 "age"로 정의해본다.
jasonData[name]은 jasonData["age"]이기 때문에 25가 나옴
객체(Object) Method
1. Object.Keys() : 주어진 객체의 key만을 가져와서 배열에 담아주는 메서드 - 문자열 형태

→ 이를 이용하여 어떠한 객체가 특정 키를 가지고 있는지도 확인할 수 있다.

2. Object.values() : 주어진 객체의 value만 가져와서 배열에 담아주는 메서드
- 문자열 형태x : property의 value에는 어떤 데이터타입이든 담을 수 있기 때문

▶ 메서드를 통해 key와 value를 배열에 담아 사용하는 이유는 객체의 경우 배열과 다르게 순서가 존재하지 않기 때문에
반복문 등에서 활용하기 어렵기 때문이다.
아직 존재하지 않는 property 추가하기
