Valor por defecto en las variables de AS3
Publicado por Iván Gajate el 6 de Noviembre de 2008 en AS3, Flash, Tutoriales
Una de las cosas que ha cambiado en AS3 es el valor por defecto de las variables. Es un detalle del que no te das cuenta hasta que das (de morros con él).
En AS2 si se definía una variable sin inicializar su valor, por defecto era undefined, lo que nos permitía hacer cosas como
var contador:Number; if(!contador){ trace("La variable aún no está inicializada"); }
Ahora en AS3 si no la inicializamos con un valor, por defecto es NaN (Not a Number), no es un número, lo que en algunos casos nos puede llevar a no poder hacerlo como antes.
No es difícil de solucionar, pero es conveniente tener en cuenta los valores que asigna por defecto Flash:
var noTipada:*; // undefined var booleano:Boolean; // false var numero:Number; // NaN var entero:int; // 0 var enteroPositivo:uint; // 0 var cadena:String; // null var objeto:Object; // null
Ahora los objetos no definidos (Arrays, y cualquier tipo de objeto definido a partir de una clase de usuario), tienen como valor null, no undefined.