gpt4 book ai didi

javascript - 如何迭代 node.js 模块对象以查找所有属性和方法?

转载 作者:行者123 更新时间:2023-11-30 11:13:48 26 4
gpt4 key购买 nike

我想列出属于 os Node.js 模块的所有属性和方法。一种选择是:

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

因为 os 模块是一个对象,我应该能够像任何其他对象一样遍历它以列出它的所有属性和方法。但是下面的代码会抛出错误。请让我知道我在这里缺少什么?

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

TypeError: Cannot convert object to primitive value

最佳答案

os.constants 是一个带有 null 原型(prototype)的对象。因此,由于它没有 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]);
});

关于javascript - 如何迭代 node.js 模块对象以查找所有属性和方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52480115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com