循環(huán)Object的方法能否循環(huán)是否可枚舉屬性,能否循環(huán)是否原型的屬性

我們先定義一個對象,這個對象有原型上的屬性,有不可枚舉屬性,有可枚舉屬性

let obj={
  name:"andy",
  age:18
};
obj.__proto__.job="hehe";
Object.defineProperty(obj,"sex",{
  enumerable:false
});

for in可以循環(huán)出所有的可枚舉屬性,不管是不是原型上的

for(let name in obj){
  console.log(name);//name age job
}

Object.keys只能循環(huán)出自身的可枚舉屬性

let name=Object.keys(obj);
console.log(name);//["name", "age"]

getOwnPropertyNames返回一個由指定對象的所有自身屬性的屬性名(包括不可枚舉屬性但不包括Symbol值作為名稱的屬性)組成的數(shù)組

let arr=Object.getOwnPropertyNames(obj);
console.log(Object.getOwnPropertyNames(obj));//["name", "age", "sex"]
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容