ES8에서 도입된 Object.keys()
, Object.values()
, Object.entries()
는 객체를 순회하고 속성을 열거하는 데 사용되는 메소드입니다. 이들 메소드는 객체의 속성들을 배열로 반환하며, 각각 다른 방식으로 객체를 순회할 수 있는 기능을 제공합니다.
Object.keys(obj)
obj
객체의 열거 가능한 속성 이름들로 구성된 배열을 반환합니다.Object.values(obj)
obj
객체의 열거 가능한 속성 값들로 구성된 배열을 반환합니다.Object.entries(obj)
obj
객체의 열거 가능한 속성들을 [키, 값]의 배열 형태로 구성된 배열로 반환합니다.아래는 각 메소드의 사용 예시와 설명입니다:
const person = {
name: 'John',
age: 25,
gender: 'male'
};
console.log(Object.keys(person));
// ["name", "age", "gender"]
console.log(Object.values(person));
// ["John", 25, "male"]
console.log(Object.entries(person));
// [["name", "John"], ["age", 25], ["gender", "male"]]
위의 예시에서 Object.keys(person)
는 person
객체의 속성 이름들을 배열로 반환합니다. 결과로 ["name", "age", "gender"]
가 출력됩니다.
Object.values(person)
는 person
객체의 속성 값들을 배열로 반환합니다. 결과로 ["John", 25, "male"]
가 출력됩니다.
Object.entries(person)
는 person
객체의 속성들을 [키, 값]의 배열 형태로 구성된 배열로 반환합니다. 결과로 [["name", "John"], ["age", 25], ["gender", "male"]]
가 출력됩니다.
이러한 메소드들은 객체의 속성들을 순회하면서 각 속성의 이름이나 값에 접근해야 할 때 유용합니다. 또한, Object.keys()
, Object.values()
, Object.entries()
의 반환값인 배열을 다양한 방식으로 활용할 수 있습니다. 예를 들어, for...of
루프를 사용하여 배열을 순회하거나, 배열 메소드인 map()
, filter()
, reduce()
등을 사용하여 배열을 가공할 수 있습니다.