我有一个带有属性/方法的对象,我想隐藏其中的一些
var Cons = function(str) {
var ab = str.split(' ');
this.a= ab[0];
this.b= ab[1];
this.geta = function() {
return this.a;
};
this.getb = function() {
return this.b;
};
}
关于MDN语法:
Object.defineProperty(obj, prop, descriptor)
我使用下面的代码隐藏了一些,我想在'prop'上传递一些键的数组是否可能?
Object.defineProperty(obj, 'prop', {
enumerable: false
});
答案 0 :(得分:0)
Object.defineProperty
只接受以字符串形式传入的单个键
简单的解决方案是迭代密钥
var keys = ['prop1','prop2','prop3'];
keys.forEach(function(key) {
Object.defineProperty(obj, key, {
enumerable: false
});
});