Reputation: 26
I want to make a variable change-able in the console for example
var numbers = 5;
var mynumbers = 3;
var outcome = numbers - mynumbers;
console.log(outcome);
I want to be able to change var numbers
and mynumbers
in the console and var outcome
to get printed after
Upvotes: 0
Views: 123
Reputation: 152
let outcome = 0;
numbers = {
innerValue: 10,
innerListener: function(val) {},
set value(val) {
this.innerValue = val;
this.innerListener(val);
},
get value() {
return this.innerValue;
},
registerListener: function(listener) {
this.innerListener = listener;
}
}
myNumbers = {
innerValue: 10,
innerListener: function(val) {},
set value(val) {
this.innerValue = val;
this.innerListener(val);
},
get value() {
return this.innerValue;
},
registerListener: function(listener) {
this.innerListener = listener;
}
}
numbers.registerListener((val)=> {
outcome=val-myNumbers.innerValue;
})
myNumbers.registerListener((val)=> {
outcome=numbers.innerValue-val;
})
numbers.value = 10;
myNumbers.value= 5;
//voila => outcome is now 5.
Upvotes: 0
Reputation: 943207
You can't. Numbers are immutable. If you change numbers
or mynumbers
it won't change the value of outcome
because that has already been determined. Likewise, if you change outcome
then that has already been logged and the log won't change.
If you made the value of outcome
an object and then mutated it (by changing a property on it) then that might be reflected in the log (as some logging systems are lazy about evaluating objects).
Upvotes: 1