从变量实例化ES6类

时间:2016-09-29 21:28:54

标签: javascript

有没有办法根据ES6中的变量从类中实例化一个新对象?

这是我的情景:

getQuotesOfTheDay(): Promise<[Quote]> {
//      ^                    ^     ^
    return this.http.get('quotes.json').toPromise()
//                             ^
        .then(response => response.json());
}

但是,这会返回class SomeClass { hasMany(what){ var instance = new window[what](); var owned_objects = instance.allOwnedBy(this.constructor.name, self.id); return instance; } }

hasMany位于Class中。所以我想要实现的是这个类中的函数应该根据作为变量传递的类的名称实例化另一个类,然后返回实例。

1 个答案:

答案 0 :(得分:0)

您如何定义class Group

在我的测试中,如果您专门将类设置为窗口的属性,它将起作用。所以:

window.Group = class {...}

然后你可以这样做:

var instance = new window['Group']();