我有一个带有属性/方法的对象,我想隐藏其中的一些

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
});

最佳答案

Object.defineProperty仅接受作为字符串传入的单个键。
简单的解决方案是仅遍历键

var keys = ['prop1','prop2','prop3'];

keys.forEach(function(key) {
    Object.defineProperty(obj, key, {
        enumerable: false
    });
});

关于javascript - 如何在object.defineProperty()上传递属性数组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39667429/

10-10 19:42