ES6: как установить экземпляр равным нулю внутри класса?

1

Мне нужно использовать

if (instanceOfClass === null){
    // ...
}

Переменная instanceOfClass динамически становится нулевой во время скрипта, а затем при необходимости будет назначен новый экземпляр. Кроме того, я не хочу писать instanceOfclass= null: если класс уничтожит сам экземпляр внутри соответствующего метода, он будет более изящным:

SomeClass{

    // ...

    cancelOperation(){
        this = null; // don't work
    }
}

instanceOfClass = new SomeClass();
instanceOfClass.cancelOperation();
instanceOfClass = new SomeClass();

Мне нужно написать вместо this = null; заставить его работать?

Теги:
ecmascript-6

1 ответ

2
Лучший ответ

Уничтожение класса изнутри - это плохая практика, вместо этого, если вы хотите назначить новый экземпляр, флаг, чтобы отметить класс, готов к удалению.

MyClass {
  readyToBeDeleted: boolean = false;

  cancelOperation() {
    this.readyToBeDeleted = true;
  }
}

затем с внешней проверки и переуступки при необходимости:

if (myClass.readyToBeDeleted) {
  myClass = new MyClass();
}
  • 0
    Спасибо за ответ!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню