2011-06-03 19 views
7

que tiene una variable booleana en ActionScript 3.Prueba de Boole en ActionScript para nula

¿Cómo puedo comprobar si es indefinido (no por ser falsa), porque falso es un valor o booleana en ActionScript es FALSO de forma predeterminada>

+2

Boolean por definición significa verdadero o falso. Si a una variable booleana no se le asigna un valor, como mencionó, es falso de manera predeterminada. ¿Qué hay de usar un número (que tiene NaN como valor predeterminado)? ¿O un int con un valor 'indefinido' establecido que inventa? Por cierto, 0% de aceptación para todas esas preguntas no suena muy alentador. –

Respuesta

7

En ActionScript, Boolean puede tener true o false solo valor. Si no especifica ningún valor, se inicializa a false de manera predeterminada.

Editar: Este comportamiento es diferente del tipo de objeto Boolean de Java que es un contenedor sobre la primitiva boolean. Ver los comentarios de Victor @ siguientes

+0

Pero en Java obtienes nulo si inicializas el objeto booleano – Makky

+2

'Boolean' es un contenedor de tipo de referencia para el tipo primitivo' boolean'. Por lo tanto, su valor predeterminado * no inicializado es 'nulo'. –

+2

@ SSF4Negative_Zero - pero su pregunta no era sobre Java; no puede esperar que todos los idiomas funcionen de la misma manera. – nnnnnn

11

Si quieres un booleano que puede ser indefinido (esencialmente una bandera tri-estado), se puede utilizar una referencia Object, pero sólo asignar los valores de Booleantrue y false a ella. Lo malo es que pierdes el tipo de seguridad.

var isSet:Object = null; 
// Later... 
isSet = true; 
+0

correcto, independientemente de lo fuerte que sea para establecer la variable booleana en nulo, se establecerá en falso de forma predeterminada. :) – Kerisnarendra