Wonky dynamic constructors - new call?

Is this really the correct way for dynamic constructors?
It looks a bit wonky, but it works.


//library linkage
var symbls:Array = [symb1,symb2];

var m1:MovieClip = new symbls[0]();
var m2:MovieClip = new symbls[1]();

addChild(m1);
addChild(m2);

Edit: and why can’t I type the array like this?
var symbls:Array = [“symb1”,“symb2”];