列出.prototype的属性?

时间:2019-07-05 12:58:56

标签: javascript

使用javascript,是否可以console.log或列出与给定类型的对象关联的.prototype属性?

我正在使用 firebase cloud-firestore ,并希望了解原型中存在的用于调用数据库的内容。

例如,数据库调用返回类型为QuerySnapshot { ... }的对象。我想看看QuerySnapshot.prototype上存在什么。

我可以使用.map映射返回的值,但是如果我控制台注销该对象,则它不是数组,因此大概是继承自原型的自定义.map吗?

1 个答案:

答案 0 :(得分:5)

是的,您可以使用Object.getPrototypeOf获取对象的原型,Object.getOwnPropertyNames获取具有字符串名称的属性,Object.getOwnPropertySymbols获取具有符号名称的属性。您可能想要重复此过程(转到原型的原型,依此类推),以获取每个级别的属性。

getOwnPropertyXYZ的优点在于,它包含不可枚举的属性,而for-inObject.keys仅返回可枚举的属性。 (它们也不包含以符号命名的属性。)

或者,您可以console.log对象,并使用devtools中浏览器的交互式对象资源管理器来浏览其属性。