Установите для свойства объекта отрицательное значение свойства в том же объекте (Javascript/jQuery)
Допустим, у меня есть объект Javascript:
var myObj = {
property1 : 20,
property2 : -20
}
Но вместо -20
за property2
Мне нужно принять значение property1
и преобразовать его в отрицательный внутри property2
:
var myObj = {
property1 : 20,
property2 : this.property1 * -1
}
Это не работает, но я думаю, что это иллюстрирует то, чего я хочу достичь.
3 ответа
Решение
Я мог бы предложить вам следующее
var myObj = {
property1 : 20,
get_property2 : function() {
return this.property1 * -1;
},
set_property2 : function(value) {
this.property1 = value * -1;
}
}
редактировать
Кажется, что это зависимое свойство, поэтому оно доступно только для чтения. Но я отредактировал код так, чтобы он также был доступен для записи.
Вы не можете сделать это. Вы можете назначить его позже, хотя:
var myObj = {
property1: 20
};
myObj.property2 = -myObj.property1;
Вы можете использовать это:
var myObj = {
property1 : 20,
get property2() { return this.property1 * -1; }
};
Но вы можете только читать property2
имущество.
Определение сеттера property2
не будет проблемой. См. Ссылку " Получатели и установщики JavaScript".