簡體   English   中英

如何迭代node.js模塊對象以查找所有屬性和方法?

[英]How to Iterate over node.js module object to find all the Properties and Methods?

我想列出屬於os Node.js模塊的所有屬性和方法。 一種選擇是:

var os = require('os');
Object.keys(os);
Object.getOwnPropertyNames(os);

由於os模塊是一個Object,我應該像任何其他對象一樣迭代它,以列出它的所有屬性和方法。 但是以下代碼會引發錯誤。 請讓我知道我在這里缺少什么?

for (let i in os) {
    console.log(i + ':'+ os[i])
}

TypeError:無法將對象轉換為原始值

os.constants是一個帶有null原型的對象。 因為它上面沒有toString方法,所以無法將其轉換為原始字符串值。

 const o = Object.create(null); console.log('toString', o.toString); console.log(o + ''); 

由於console.log比使用toString更聰明,您可以直接使用它:

Object.keys(os).forEach((key) => {
  console.log(key, os[key]);
});

您的console.log強制節點將對象值轉換為字符串:

console.log(i + ':'+ os[i])

你可以嘗試沒有連接:

console.log(i, os[i])

所以你不要強迫你的obj成為字符串,但我認為console.dir()是一個很好的方法來獲取你想要看到的信息。

const os = require('os');
console.dir(os);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM