반응형
JavaScript
Object.keys()
Object.keys()
- method returns an array of a given object's own enumerable property names, iterated in the same order that a normal loop would.
해당 객체의 셀 수 있는 속성 이름들을 순서대로 (normal loop would) 반환한다.
e·nu·mer·a·ble /əˈn(y)o͞omərəb(ə)l/
adjective
MATHEMATICS
- able to be counted by one-to-one correspondence with the set of all positive integers.
기본 구문
Object.keys(obj)
매개 변수
1. obj (객체)
반환 값
An array of strings that represent all the enumerable properties of the given object.
해당 객체의 모든 대칭될 수 있는 속성들의 이름의 배열을 반환
예제 1
const object1 = { a:'somestring', b:42, c:false,}
console.log(Object.keys(object1))
<- 요렇게 객체의 속성 이름만 ( ≠속성값) 배열로 담아낸다.
예제 2 : array 배열 경우
// simple array
const arr1 = ['a','b','c'];
console.log(Object.keys(arr1));
const arr2 = [1,2,3,4,5,6,7];
console.log(Object.keys(arr2));
배열의 경우 Object.keys(arr) 를 쓰면 indexOf 값이 배열로 나온다.
예제 3 : 배열같은 객체 경우
//array-like object with random key ordering
const obj = { 0:'a', 1:'b', 2:'c' };
console.log(Object.keys(obj));
const obj2 = { 100:'a', 2:'b', 30000:'c' };
console.log(Object.keys(obj2));
객체의 key값 = 속성 이름들이 배열로 반환된다.
예제 4 : 속성이 not enumerable 셀 수 없는(대칭 할 수 없는) 경우
// getFoo is a property which isn't enumerable
const obj3 = Object.create({}, {
getFoo:{
value : function (){return this.foo;}
}
})
obj3.foo = 1;
console.log(Object.keys(obj3));
console.log(obj3)
반응형