Bad example, checkout mobx or core-decorators.
@computed get value() { return this.a + 1; } @readonly bar = 5;
@computed get value() { return this.a + 1; } @readonly bar = 5;
There's a reason all the most common languages have them, concealing complexity is a way to reduce cognitive overload and therefore, bugs.