@aaron_armstrong Можно использовать defineProperty() в Javascript чтобы отследить изменение переменной. Ведь не секрет когда Вы создаете переменную var username = 1 она хранится в глобальном массиве window, посмотрите ниже пример:
1 2 3 4 5 6 7 8 9 10 |
Object.defineProperty(window, 'username', { get: () => this._username, set: value => { console.log('username переменная изменена'); this._username = value; } }); username = 1 // Вывод: username переменная изменена |