Вам не хватает оператора new
:
var s:SomeClass = new SomeClass('test');
Если вы не используете оператор new
, действительно нет хорошего способа создатьчлен класса в ActionScript.Однако есть некоторые заметные исключения.Массив, XML, XMLList, int, uint, Number, String и Object почти никогда не должны использовать свои конструкторы.
//To get a new array
var a:Array = [/*initial values*/];
// a new Object
var o:Object = {};
В AS использование имени класса в качестве функции на самом деле означает «Привести это к классу».Вы также можете сделать это через оператор as
.Разница в том, что as
вернет ноль при неудаче, другие средства выдадут ошибку:
// I NEED this to be a Foo, so I will force the matter.
var foo:Foo = Foo(otherVariable);
// It would be nice to have this as a Foo, but if it is null, whatever:
var foo:Foo = otherVariable as Foo.