【发布时间】:2016-02-20 02:56:11
【问题描述】:
我需要实现类似 ODM 的小型功能。我从数据库中获取普通的 javascript 对象,我需要将其转换为我的模型类实例。假设模型如下所示:
class Model{
constructor(){
this.a = '777';
---- whole bunch of other things ---
}
print(){
console.log(this.a);
}
}
所以我需要将var a = {b:999, c:666} 转换为模型实例并能够在之后调用a.print(),并且当a.print() 执行时777 应该放在控制台中。该怎么做?
【问题讨论】:
-
{b:999, c:666}怎么会变成Model实例?您的Models 只有a属性,而不是b或c属性。也许这就是人们不理解您的问题的原因。 -
@Bergi 它可能是对象中的几十个字段,我认为它们都不应该在构造函数中列出。
-
@silent_coder:当然你所有的字段都应该在构造函数中列出来?如果没有创建,实例将不会有这些字段。
-
@Bergi 这是 javascript 伙伴。你可以用任何方法输入
this.b = xxx,它是完全有效的。 -
在我看来,这就像 Casting plain objects to function instances (“classes”) in javascript 的副本(在 ES6 中没有什么不同)。请告诉我这是否有帮助。
标签: javascript ecmascript-6 odm