相关疑难解决方法(0)

在JavasScript ECMAScript 6中从字符串创建对象

我想使用ES6创建对象工厂,但旧式语法不适用于新的.

我有下一个代码:

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');
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

javascript ecmascript-6 babeljs

10
推荐指数
3
解决办法
3848
查看次数

标签 统计

babeljs ×1

ecmascript-6 ×1

javascript ×1