名前が動的に構築されるクラスの新しいインスタンスを作成する必要があります。
eval('SomeObject.'+id+' = new SomeClass'+Data.type+'(id, Data);');
// results in:
SomeObject._123 = new SomeClassWithDynamicName(id, Data);
それは正常に動作しますが、eval の使用を避け (eval が発生した後にコード内のエラーを追跡することはほとんど不可能です)、次のようなことを行います。
SomeObject[id] = new ('SomeClass'+Data.type)(id, Data);