- 객체의 키를 변수로 접근하기
좋은점:
- 객체의 특정 키의 값을 가져오는 것이 가능
- 객체에 특정 키를 만들고 값을 할당하는 것이 가능
키 하나 생성하고, 그 키에 값을 할당->키와 변수를 통해
const verb = 'developes'
cosnt project = 'facebook'
verb의 값을 키로 사용해야 하고, project의 값을 그 키의 값으로 사용한다고 하면, 아래와 같다.
information[verb] = project // [A]
information.developes = 'facebook' // [B]
A와 같이 할당된다.
B의 방식으로 할당이 가능하지만, 이 경우 키와 값은 항상 정해져 있다.
A와 같은 방법은 변수 verb와 project가 가지는 값에 따라 다른 키와 다른 값을 가지는 게 가능하다.
- 객체 순회하기
- 객체는 순서가 없고 키를 통해서만 접근해야한다.
- 객체에 있는 모든 키에 한번씩 접근해야한느 코드를 써야 한다면?
: 객체도 배열처럼 순회가 가능하다.
- 하지만, 정해진 순서가 없기 때문에 어떤 순서에 따라 객체의 키에 접근하게 될지 알 수 없다. 그래서 객체의 순회는 "순서가 보장 되지 않은 순회
"라 한다.
- 객체의 반복문 작성
1) Object.keys()메소드
- 어떤 객체가 가지고 있는 키들의 목록을 배열로 리턴하는 메소드
- 객체의 내장 메소드가 아니라 객체 생성자인 Object 가 직접 가지고 있는 메소드
- 리턴하는 값은 배열
2) Object.values, Object.entries
- Object.values : 객체의 키가 아닌 값으로 이루어진 배열을 리턴
- Object.entries : 객체의 키와 값의 쌍으로 이루어진 길이 2짜리 배열로 이루어진, 배열을 리턴
- 각 배열에서 인덱스[0]의 값은 각각의 키, 인덱스[1]의 값은 해당 키에 해당
3) for-in문
- 객체 순회 외에도 일반적인 배열을 순회할 때 아주 유용
- for - in문의 인덱스에 해당하는 변수가 숫자가 아닌 객체의 각각의 키에 해당하는 문자열을 할당받게 된다.