2016-07-07 111 views
0

被分配假設我有兩個類:lodash如何測試對象

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

然後我用lodash assignIn方法是這樣的:

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

問題是我如何可以測試對象2繼承自Class2?

+0

「Class1」或「Class2」中沒有指定任何內容,「object2」僅僅是「Class2」的一個實例,沒有屬性。 –

+1

爲什麼不呢? –

+0

'object2 instanceof Class2 === true' –

回答

1

如果您未初始化對象中的屬性,則不會創建任何屬性,因此您的object2不具有prop2。至少你應該將它們初始化爲null

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

由於@Patrick羅伯茨說,你可以使用object2 instanceof Class2 === true檢查對象2是否「繼承」的Class2。

看到這個jsFiddle

1

Class1Class2不是類。

在另一條評論中建議的instanceof檢查與_.assignIn正交。如果prototype右邊的值在左邊的原型鏈上,