Erstelle ein Objekt aus einem String in JavasScript ECMAScript 6

Ich möchte eine Objektfactory mit ES6 erstellen, aber die Syntax im alten Stil funktioniert nicht mit der neuen.

Ich habe den nächsten Code:

export class Column {}
export class Sequence {}
export class Checkbox {}

export class ColumnFactory {
    constructor() {
        this.specColumn = {
            __default: 'Column',
            __sequence: 'Sequence',
            __checkbox: 'Checkbox'
        };
    }

    create(name) {
        let className = this.specColumn[name] ? this.specColumn[name] : this.specColumn['__default'];
        return new window[className](name); // this line throw error
    }
}

let factory = new ColumnFactory();
let column = factory.create('userName');

Was mache ich falsch?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage