Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   defineProperty (https://javascript.ru/forum/misc/9722-defineproperty.html)

qwoiejfoiej 02.06.2010 22:21

defineProperty
 
Как заставить Object.defineProperty определить свойство, которое можно только увеличивать? Прикол в том, что при первой проверке в setter'e вылетает ошибка ReferenceError: num is not defined, а при попытке установить свойство по умолчанию "TypeError: Invalid property. A property cannot both have accessors and be writable or have a value"

var obj = {};
Object.defineProperty(obj, 'num', {
value: 0, //TypeError
get: function() {return num},
set: function(value) {num = (!num || num > value) ? value: num} //ReferenceError
});

Либо я туплю либо одно из двух...


Часовой пояс GMT +3, время: 16:18.