Ali Mohammed
Ali Mohammed

Reputation: 26

How can I make a variable change-able in the console

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

Answers (2)

aligumustosun
aligumustosun

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

Quentin
Quentin

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

Related Questions