Использовать геттер
var my_object = {
value1: 220,
value2: 100,
value3_1: 300,
value3_2: 300,
get value3() {
return this.value3_1 + this.value3_2;
}
};
console.log(my_object.value3);
Таким образом, вам не нужно «знать», какая из них является функцией, а какая нет.
Например, скажем, вам нужно прочитатьвсе значения, которые вы можете сделать:
Object.keys(my_object).forEach(k => console.log(k, my_object[k]))
В то время как без геттера вам необходимо:
Object.keys(my_object).forEach(k => console.log(k,
typeof my_object[k] === 'function' ? my_object[k]() : my_object[k]))