@NazarJs

Как отследить изменение значения в переменной?

Как отследить изменение значения в переменной?
Мне нужно вызвать функцию если значение в переменной измениться.
  • Вопрос задан
  • 179 просмотров
Пригласить эксперта
Ответы на вопрос 3
sergiks
@sergiks Куратор тега JavaScript
♬♬
Если есть возможность изменить код создания этой переменной..
Например, вместо
var a = 'QnA.habr.com';
написать
Object.defineProperty(this, 'a', {
    set: function(v) {console.log('Изменяют!'); this.value = v;},
    value: 'QnA.habr.com'
});
то теперь любое изменение значения переменной вызовет панику в консоли:
a = 'StackOver...';
// Изменяют!


Upd. выяснилось, вопрос был совсем про другое )
Ответ написан
firedragon
@firedragon
Senior .NET developer
Вот из js

https://developer.mozilla.org/ru/docs/Web/JavaScri...

Вот пример из TS.
class foo {
    private _bar: boolean = false;
    get bar(): boolean {
        return this._bar;
    }
    set bar(value: boolean) {
        this._bar = value;
    }
}
Ответ написан
@FlatUser
Юзайте эту библиотеку.
https://github.com/itmor/events-js

Пример
let variable = 1;

events.add({
  variableСhange: () =>  {
    return variable;
  }
}, 'morph');

function printText () {
  console.log('Variable has changed!');
}

events.on('variableСhange', printText);


Так же можно активировать коллбэк при определённом значении переменной, читайте доку.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы