You should try to use this functions - getQualifiedClassName
and typeof
. Here's a code showing how they behave for different data types you've listed, see the difference for the Array and Numbers especially:
Code:
var o = new Array();
trace ("var o = new Array()");
trace (getQualifiedClassName(o));
trace (typeof(o));
var o = new Object();
trace ("var o = new Object();");
trace (getQualifiedClassName(o));
trace (typeof(o));
var o = new String();
trace ("var o = new String()");
trace (getQualifiedClassName(o));
trace (typeof(o));
var o = new Number()
trace ("var o = new Number()");
trace (getQualifiedClassName(o));
trace (typeof(o));
var o = 3.14;
trace ("var o = 3.14");
trace (getQualifiedClassName(o));
trace (typeof(o));
Result:
var o = new Array()
Array
object
var o = new Object();
Object
object
var o = new String()
String
string
var o = new Number()
int
number
var o = 3.14
Number
number
I assume getQualifiedClassName would be what you're looking for, which is in the flash utils package:
import flash.utils.getQualifiedClassName;