#actionscript #boolean
#actionscript #логическое
Вопрос:
У меня есть логическая переменная в Actionscript 3.
Как я могу проверить, не определено ли оно (не по значению false), потому что false — это значение, или логическое значение в Actionscript по умолчанию равно FALSE >
Комментарии:
1. Логическое значение по определению означает либо true, либо false. Если логической переменной не присвоено значение, как вы упомянули, по умолчанию оно равно false. Как насчет использования числа (которое имеет NaN в качестве значения по умолчанию)? Или значение int с установленным ‘undefined’ значением, которое вы создаете? Кстати, 0% accept для всех этих вопросов звучит не очень обнадеживающе.
Ответ №1:
Если вам нужно логическое значение, которое может быть неопределенным (по сути, флаг трех состояний), вы можете использовать Object
ссылку, но просто присвоите ей Boolean
значения true
и false
. Недостатком является то, что вы теряете безопасность типов.
var isSet:Object = null;
// Later...
isSet = true;
Комментарии:
1. правильно, независимо от того, насколько сильно вы хотите присвоить переменной Boolean значение null, по умолчанию для нее будет установлено значение false. 🙂
Ответ №2:
В ActionScript Boolean
может иметь либо true
, либо false
только значение. Если вы не укажете какое-либо значение, по умолчанию оно инициализируется на false
.
Редактировать: Это поведение отличается от Boolean
объектного типа Java, который является оболочкой поверх примитива boolean
. Смотрите комментарии @Victor ниже
Комментарии:
1. Но в Java вы получаете Null, если инициализируете объект Boolean
2.
Boolean
является оболочкой ссылочного типа дляboolean
примитивного типа. Следовательно, его неинициализированное значение по умолчанию равноnull
.3. @SSF4Negative_Zero — но ваш вопрос был не о Java; вы не можете ожидать, что все языки будут работать одинаково.
4. Обратите внимание, что комментарий от @VictorZamanian относится к Java, а не к AS3
5. в flex все по-другому. мой опыт показывает, что независимо от того, насколько сильно вы задаете переменной Boolean значение null, по умолчанию для нее будет установлено значение false.