繁体   English   中英

使用Object.keys()打印属性

[英]printing properties with Object.keys()

我试图通过使用Object.keys()方法来打印Object's自己的属性(不包括prototype属性)。

var obj = {
    name : "Jane"
}

keys = Object.keys(obj); //["name"]

当我做

console.log("length" in keys) //It is printing true?

我相信"length"来自prototype 为什么它存在于keys数组中?

Object.keys()返回一个Array并且数组始终具有length属性

来自Mozilla文档。

Object.keys()方法返回给定对象自己的可枚举属性的数组,其顺序与for ... in循环所提供的顺序相同(区别在于for-in循环枚举原型链中的属性为:好)。

为什么它存在于keys数组中?

它确实存在于keys array因为keysArray的一个实例,而Array具有length属性。

这相当于说

if ( "length" in keys)
{ 
  console.log(true)
}

也可以此处签入操作员文档。

如果指定的属性在指定的对象中,则in运算符将返回true。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM