Object.values()
Object.values() 메소드는 전달된 파라미터 객체가 가지는 (열거가능한)속성의 값들로 이루어진 배열을 return 합니다.
const object1 = {
a: "hello",
b:99,
c:true,
d:[a,b,c,d]
};
console.log(Object.values(object1));
//Array ["hello", 99, true, Array ["a", "b", "c", "d"]]
// 유사 배열 (숫자를 속성으로 사용하는 객체)
const obj = { 0 : 'a', 1: 'b', 2:'c' };
console.log(Object.values(obj)); // [ 'a', 'b', 'c']
// 유사 배열의 number 속성으로 사용한 숫자의 크기 순으로 정렬되어 반환된다.
const obj2 = { 1000: 'a', :20: 'b', 4: 'c'};
console.log(Object.values(arrayLikeObj2));
// ['b', 'c', 'a']
// getFoo는 열거 가능한 속성이 아니라서 배열에 포함되지 않습니다.
const obj3 = Object.create({}, {getFoo : {value :
function() {return this.foo;} } } );
obj3.foo = 'bar';
console.log(Object.values(obj3));
// ['bar']
// 객체가 아닌 경우에는 객체로 강제로 변환되어 적용됩니다.
console.log(Object.values('hello'); // ['h','e','l','l','o']
source : MDN
여기서 Object.create()가 있는데 이 부분은 protytype하고 생성자에 대해 더 공부하고 와야한다.
'Javascript > 개념' 카테고리의 다른 글
[JS - 개념] Sort() <배열 고차함수> (0) | 2023.05.26 |
---|---|
[JS - 개념] String.prototype.replace() (0) | 2023.01.31 |
[JS - 개념] 식별자 네이밍 규칙 (0) | 2022.10.13 |
[JS - 개념] Array.prototype.at() (0) | 2022.10.01 |
[Node][Express] req.params VS req.query VS req.body (0) | 2022.08.18 |