動的にインスタンスを生成する

動的にClassオブジェクトを取得する際の落とし穴 ではClassオブジェクトを取得する際の落とし穴について述べました。さて、取得したClassからインスタンスを生成するにはどうしたら良いでしょうか。
実は、AS3ではこんな書き方ができちゃいます。

var hogeClass:Class = Hoge; // HogeのClassを取得
var hoge:Hoge = new hogeClass(); // インスタンス生成

hogeClassは変数ですが、newできるのです。newすると、hogeClassの型であるHogeのインスタンスができます。as3-commonsやASReflectにもnewInstanceのためのユーティリティは用意されていますが、こちらの方が圧倒的にシンプルです。少なくともインスタンスを作るという用途に限っては、特にライブラリを使う必要はありませんね。