Задать вопрос
@undefined_title

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

можно ли как то подписаться на изменение значения через оператор =, изменяя значение не через функцию, а именно через этот оператор, что бы при изменении значения через "равно" вызывалась функция, например
var value = 0;

function valueChangeSubscriber() {
  console.log(value)
}

value = 1
// 1
// undefined
value = 3
// 3
// undefined
  • Вопрос задан
  • 320 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
lazalu68
@lazalu68
Salmon
С помощью Proxy:

var obj = {};

var obj = new Proxy(obj, {
	set: function(target, key, value, self) {
		console.log("I have no idea what im doing");
		target[ key ] = value;
	}
});

obj.a = 2; // "I have no idea what im doing"
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@niriter
User
var value = 0;
var old-value = value;

function oldornot(new-value) {
value = new-value;
   if new-value == old-value {
     echo "Not changed";
   }
   else {
     echo "Changed";
     old-value = new-value;
   }

oldornot(59)
// Changed
oldornot(59)
// Not changed


Ты проверь и исправь если что-то не так, Давно уже не писал что-то на php
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы