2016-09-23 4 views
1

내가object.defineProperty()에서 속성 배열을 전달할 수 있습니까?

MDN 구문에 대한
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; 
    }; 
} 

그 중 일부를 숨기려는 속성/방법과 목적이 있습니다

Object.defineProperty(obj, prop, descriptor) 

나는 아래의 코드를 사용하여 일부를 숨길을, 나는을 전달하려면 '소품'의 일부 키 배열이 가능합니까?

Object.defineProperty(obj, 'prop', { 
    enumerable: false 
}); 

답변

0

Object.defineProperty은 문자열로 전달 된 단일 키만 허용합니다.
쉬운 해결책은 바로 키를 통해

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

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

감사를 반복하는 것입니다! 나는 그것을 생각하지 않았다 : / – learningjavascriptks

관련 문제