다음과 같은 방법으로 setter와 getter를 정의하고 싶습니다 :루프에서 getter와 setter를 정의하는 방법은 무엇입니까?
var myObj = {
// this is the object that should be
// filled with new setters and getters
...
}
/**
* This object contains getters and setters for myObj
*/
var Fields = {
param1: {defaultValue: ..., type: ..., ...}
param2: ...
}
// so the following code doesn't work properly
for (var field in Fields)
Object.__defineGetter__(field, function() {
// do smth
});
이 코드는 모든 getter가 동일한 물건 (for 루프의 마지막 반복에 해당)를 수행하도록합니다.
제대로 작동하도록 코드를 수정해야합니까?
그래, 그게 내가 필요한거야! Thnx! – tsds
'__defineGetter__'의 사용은 권장되지 않습니다. (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__defineGetter__). 대신에 [defineProperty] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty)를 사용하십시오. – Christian
예를 들어 [this so answer] (https://stackoverflow.com/a/23308747/969483)도 참조하십시오. – Christian