Как реализовать a===1&&a===2&&a===3

JavaScript
Как реализовать a===1&&a===2&&a===3

Вариант первый

Используйте Object.defineProperty, чтобы решить эту проблему. Этот метод, который хорошо известен благодаря Vue2, также является общеизвестным моментом в интервью. Мы можем использовать его, чтобы захватить переменную a и позволить ей увеличиваться, когда это целесообразно. Тогда проблема это можно решить

var value = 1;
Object.defineProperty(window, "a", {
  get() {
    return this.value++;
  }
});
if (a === 1 && a === 2 && a === 3) {
  console.log("hello world!");
}

Вышеупомянутое предназначено для захвата a в глобальном окне.Когда a принимает решение, он запускает атрибут get для получения значения, и каждый раз, когда значение получено, будет запускаться функция для выполнения автоинкремента, и если он оценивается три раза, он будет автоматически увеличиваться три раза, поэтому формула, наконец, будет установлена.

Вариант 2

Точно так же мы используем прокси-сервер ES6 для достижения этой цели.

let test = {
  number: 1
};
test = new Proxy(test, {
  get(target, key) {
    return target[key]++;
  }
});
if(test.number === 1 && test.number ===2 && test.number ===3){
    console.log('333');
}