Эмм, что это!...
Как я могу найти тип var/name в ActionScript3?
Ответ 1
Функция называется typeof(). http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/operators.html#typeof
Ответ 2
flash.utils.getQualifiedClassName(...)
Вы можете передать любое значение ActionScript этой функции, чтобы получить строку, содержащую ее полное имя класса.
Ответ 3
Если вам нужно только самое фундаментальное описание этого типа, вы можете использовать оператор typeof
, например:
var foo:String = "test";
trace( typeof foo );
// string
Хотя это удобно, у него есть недостаток. Это то, что он всегда дает базовый тип переменной, например:
var foo:Array = ["A","B","C","D"];
trace( typeof foo );
//object
var bar:int = 5;
trace( typeof bar );
//number
var hummer:Car = new Car();
trace( typeof hummer );
//Vehicle
Как это технически правильно, но может и не быть тем, что вы ищете.
Если вам нужен более конкретный тип (т.е. Array
, String
и т.д.), вам нужно использовать немного более сложную функцию getQualifiedClassName()
из пакета flash.utils
:
import flash.utils.getQualifiedClassName;
var foo:Array = ["A","B","C","D"];
trace( getQualifiedClassName( foo ) );
//Array
var bar:int = 5;
trace( getQualifiedClassName( bar ) );
//int
var hummer:Car = new Car();
trace( getQualifiedClassName( hummer ) );
//Car
Ответ 4
Если память мне подходит, метод flash.utils.describeType передает вам документ xml со всеми отраженными типами объектов объекта/типа.
Действительно: http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/utils/package.html#describeType%28%29
Ответ 5
Оператор is
- это современное решение:
var mySprite:Sprite = new Sprite();
trace(mySprite is Sprite); // true