내 객체에 대한 getter를 정의하려고합니다. 그러나, 나는 또한 그 세터의 속성을 가리킬 수있는 능력을 갖고 싶어.defineProperty가있는 Getter/setter
예 개체 :
var obj = {
weight: 14
};
가 지금은 그것이 고전 obj.weight
로 불리는 그래서이 객체를 확장하는 기능을 만들려는 '14'반환됩니다. 그러나 나는 또한 obj.weight.unit
을 호출하고 '킬로그램'을받는 옵션이 필요합니다.
이것은 내가 할 뭘하려 :
Object.defineProperty(obj, 'weight', {
get: function() {
return obj.weight;
},
'unit': 'Kilograms'
});
무게를 얻기 작동하지만 작동하지 않습니다 중량 단위를 받고. 또한 콘솔에서 "obj"의 컨텍스트를 보려고 할 때, 존재하지 않는 것처럼 "단위"를 표시하지 않습니다.
어떤 구문을 사용하면 장치를 얻을 하시겠습니까? 'obj.weight.unit'? 'obj.unit'? –
당신이하려는 것은 불가능합니다. 값은'unit' 속성을 가진 숫자와 객체가 될 수 없습니다. – Bergi