我有以下非登录代码:
class test {a(){}}
for(const a in test.prototype)
console.log(a)
为什么有任何想法-如果我对其进行调试,我可以看到test.prototype内部的方法
我正在使用nodejs。
答案 0 :(得分:3)
通过class
声明在原型对象上创建的方法被隐式地设为不可枚举。您可以为任何对象自己做:
function Constructor() { }
Object.defineProperty(Constructor.prototype, "a", {
value: function() { },
enumerable: false
});
({enumerable
和writable
标志在默认情况下为false
,因此您甚至不必显式包含它。)