Reflact.ownKeys() 和 Object.keys() 的区别

Reflect.ownKeys() 返回所有属性 key(包括方法)

var obj = {}
Object.defineProperty(obj, 'method1', {
    value: function () {
         alert("Non enumerable property");
    },
    enumerable: false
})

console.log(Object.keys(obj))
// []
console.log(Reflect.ownKeys(obj))
// ["myMethod"]

Object.keys() 返回属性 key,但不包括方法属性

const obj = {
    id1: 42,
    id2: 13
};
console.log(Object.keys(obj))
// ['id1', 'id2']
console.log(Reflect.ownKeys(obj))
// ['id1', 'id2']

 

posted @ 2019-01-11 16:45  kevins_yuan  阅读(625)  评论(0)    收藏  举报