lodash如何测试该对象被分配

时间:2016-07-07 15:06:45

标签: javascript lodash

假设我有两个班级:

function Class1(){ 
 this.prop1;
}
function Class2(){
 this.prop2;
}

然后我使用lodash assignIn方法:

var object1 = new Class1();
var object2 = _.assignIn(new Class2(), object1);

问题是如何测试object2是否继承自Class2?

2 个答案:

答案 0 :(得分:1)

如果未初始化对象中的属性,则不会创建任何属性,因此您的object2没有prop2。至少你应该将它们初始化为null

function Class1(){ 
  this.prop1 = null;
}
function Class2(){
  this.prop2 = null;
}

正如@Patrick Roberts所说,您可以使用object2 instanceof Class2 === true来检查object2是否是“继承的”Class2。

请参阅此jsFiddle

答案 1 :(得分:1)

Class1Class2不是类。

另一条评论中建议的instanceof检查与_.assignIn正交。

如果右侧值的instanceof位于左侧值的原型链上,则

true会返回prototype