被分配假設我有兩個類:lodash如何測試對象
function Class1(){
this.prop1;
}
function Class2(){
this.prop2;
}
然後我用lodash assignIn方法是這樣的:
var object1 = new Class1();
var object2 = _.assignIn(new Class2(), object1);
問題是我如何可以測試對象2繼承自Class2?
被分配假設我有兩個類:lodash如何測試對象
function Class1(){
this.prop1;
}
function Class2(){
this.prop2;
}
然後我用lodash assignIn方法是這樣的:
var object1 = new Class1();
var object2 = _.assignIn(new Class2(), object1);
問題是我如何可以測試對象2繼承自Class2?
如果您未初始化對象中的屬性,則不會創建任何屬性,因此您的object2不具有prop2。至少你應該將它們初始化爲null
:
function Class1(){
this.prop1 = null;
}
function Class2(){
this.prop2 = null;
}
由於@Patrick羅伯茨說,你可以使用object2 instanceof Class2 === true
檢查對象2是否「繼承」的Class2。
看到這個jsFiddle。
Class1
和Class2
不是類。
在另一條評論中建議的instanceof
檢查與_.assignIn
正交。如果prototype
右邊的值在左邊的原型鏈上,
「Class1」或「Class2」中沒有指定任何內容,「object2」僅僅是「Class2」的一個實例,沒有屬性。 –
爲什麼不呢? –
'object2 instanceof Class2 === true' –