关于Object.keys()的问题

新手上路,请多包涵

在MDN中,对于keys的介绍是和for...in一样都是可以遍历除Symbol以外的可枚举的属性.但是我遇到了一个隐式原型的一个问题, 问题如下:

var obj = { 
 a: 1,
 b: 2,
 __proto__: {
     c: 3,
     d: 4,
     __proto__: {
         e: 5
     }
 }
}

console.log(Object.keys(obj)) // ['a', 'b']

console.log(Object.getOwnPropertyNames(obj)); // ['a', 'b']

for ( var i in obj){
    console.log(i)
}
//return a b c d e

请问, 对于__proto__中的隐式原型属性为什么在keys方法中没有被遍历出来呢?

阅读 2.1k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏