簡體   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