@NazarJs

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

Как отследить изменение значения в переменной?
Мне нужно вызвать функцию если значение в переменной измениться.
  • Вопрос задан
  • 174 просмотра
Пригласить эксперта
Ответы на вопрос 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);


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

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

Войти через центр авторизации
Похожие вопросы
Stream Labs Москва
До 150 000 ₽
Myagi Минск
от 3 000 до 4 000 $
Salesbeat Москва
от 150 000 до 250 000 ₽
19 февр. 2020, в 07:26
2000 руб./за проект
19 февр. 2020, в 04:53
2000 руб./за проект
19 февр. 2020, в 02:24
500 руб./за проект