Если вы используете тег [Bindable]
для уведомления о свойстве, событие не будет запущено, если значение не изменится .Если вы посмотрите на сгенерированный код, он проверит, изменилось ли значение.Если значение не изменилось, событие не запускается.Если изменил , событие запускается.
Из-за этого вы только усложняете свой код (и становитесь избыточным), проверяя перед установкой значения.вы просто устанавливаете нормальное логическое значение (без уведомления об изменении), затем вы ничего не получите, проверив сначала, поэтому вам не нужно проверять.
Если вы используете какой-то специальный мутатор,установка значения вызывает побочный эффект, тогда вы должны проверить его внутри своего мутатора, но никогда за его пределами.Например:
public function set foo(value):void {
if(value == _foo)
return;
_foo = value;
doSideEffect();
}
Это, например, шаблон, который [Bindable]
пишет для вас, когда вы его используете (где doSideEffect
запускает событие изменения).
По моему мнению, это только раз, когда вы должны когда-либо проверять значение bool перед его установкой.