객체는 키와 값으로 이루어져있기 때문에 객체의 키를 변수처럼 사용하여 값을 아래와 같이 2가지 방법으로 가져올수 있습니다.
var myCar = new Object();
myCar.make = "Ford";
myCar.model = "Mustang";
myCar.year = 1969;
myCar["make"] = "Ford";
myCar["model"] = "Mustang";
myCar["year"] = 1969;
위 와 같은 객체가 만들어졌을 경우에 배열과 같이 객체 안의 모든 키와 값을 가져오는 방법에 대해서 알아보도록 하겠습니다.
: 반복문인 for
문과 같은 종류의 문법이지만, 객체와 배열을 위해 특별히 존재하는, ES6 에서 추가된 문법입니다.
const obj = {
name: 'melon',
weight: 4350,
price: 16500,
isFresh: true
}
for (let key in obj) {
const value = obj[key]
console.log(key)
console.log(value)
}
위와 같이 obj로 선언된 객체의 키값을 통해 위에서 보였던 배열 형태로 값을 가져올수있습니다.
: 주어진 객체 자신의 열거가능한 속성들의 이름의 배열을 반환합니다.
Object.keys(obj) // ['name', 'weight', 'price', 'isFresh']
: 주어진 객체의 열거가능한 모든 스트링 속성들의 값들을 포함하고 있는 배열을 반환합니다.
const values = Object.values(obj)
// values === ['melon', 4350, 16500, true]
: 주어진 객체의 열거가능한 모든 속성과 속성들의 값들을 배열로 반환합니다.
const entries = Object.entries(obj)
/*
[
['name', 'melon'],
['weight', 4350],
['price', 16500],
['isFresh', true]
]
*/
Object.entries()
의 경우 배열 형태로 반환하기 때문에 아래와 같이 키과 값을 가져올수 있습니다.
for (const [key, value] of Object.entries(obj)) {
console.log(key, value);
}
/*
name melon
weight 4350
price 16500
isFresh true
*/