nstanciação dinâmica em JavaScri

Tenho uma lista suspensa contendo classificações de moedas que podem ser instanciadas como uma "classe" JavaScript. Atualmente, uso uma instrução switch para fazer isso, mas tenho certeza absoluta de que há uma maneira mais eloqüente de fazer isso. Então, alguém lá fora pode me mostrar uma maneira melhor?

Existe uma maneira melhor de instanciar dinamicamente uma classe?:

function ddlCurrency_selectedIndexChanged() {

    var currency = null;

    switch (this.value) {
        case "Dollar":
            currency = new Dollar(null);
            break;
     case "Reais":
            currency = new Reais(null);
                break;
    }

    // Do something with the class here
};

qui estão as classes:
Apenas no caso de você querer vê-lo

// ------------------------
// CLASS - Base Class
function Currency(country, code, imageURL, name) {
    this.country = country;     //EXAMPLE: America
    this.code = code;   //EXAMPLE: USD
    this.imageURL = imageURL;   //EXAMPLE: "http://someplace/mySymbol.gif"
    this.name = name;   //EXAMPLE: Dollar
    this.amount = parseFloat("0.00");   //EXAMPLE: 100
};

// CLASS
function Pound(imageURL) {
    Currency.call(this, "Greate Britain", "GBP", imageURL, "Pound");
};
Pound.prototype = new Currency();
Pound.prototype.constructor = Pound;

// CLASS
function Dollar(imageURL) {
    Currency.call(this, "America", "USD", imageURL, "Dollar");
};
Dollar.prototype = new Currency();
Dollar.prototype.constructor = Dollar;

// CLASS
function Reais(imageURL) {
    Currency.call(this, "Brazil", "BRL", imageURL, "Reais");
};
Reais.prototype = new Currency();
Reais.prototype.constructor = Reais;

ATUALIZAR
Usingeval() também funciona. Curiosamente, eu já vi pessoas votando para baixo por usá-lo ... embora, eu não sei por que. Pessoalmente, estou inclinado a gostar mais porque você pode não ter nada saindo dowindow objeto. Um bom exemplo disso é o caso de certos objetos carregados de forma assíncrona no estilo AMD ... eles não ficam suspensoswindow.

EXAMPLE usando eval:

var currency = eval('new Dollar()');

questionAnswers(1)

yourAnswerToTheQuestion