ES8 Object values, keys, entries 객체 순회

agnusdei·2023년 7월 11일
0

ES8에서 도입된 Object.keys(), Object.values(), Object.entries()는 객체를 순회하고 속성을 열거하는 데 사용되는 메소드입니다. 이들 메소드는 객체의 속성들을 배열로 반환하며, 각각 다른 방식으로 객체를 순회할 수 있는 기능을 제공합니다.

  1. Object.keys(obj)

    • obj 객체의 열거 가능한 속성 이름들로 구성된 배열을 반환합니다.
    • 배열의 순서는 속성이 객체에 추가된 순서와 동일합니다.
  2. Object.values(obj)

    • obj 객체의 열거 가능한 속성 값들로 구성된 배열을 반환합니다.
    • 배열의 순서는 속성이 객체에 추가된 순서와 동일합니다.
  3. 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() 등을 사용하여 배열을 가공할 수 있습니다.

0개의 댓글