假设我有两个班级:
function Class1(){
this.prop1;
}
function Class2(){
this.prop2;
}
然后我使用lodash assignIn方法:
var object1 = new Class1();
var object2 = _.assignIn(new Class2(), object1);
问题是如何测试object2是否继承自Class2?
答案 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)
Class1
和Class2
不是类。
另一条评论中建议的instanceof
检查与_.assignIn
正交。
instanceof
位于左侧值的原型链上,则 true
会返回prototype
。