2014-10-06 216 views
0

是否可以將自定義對象投射到Javascript中的另一個自定義對象中? 例如,Java實現,我想轉換成JavaScript代碼,他們也做了以下內容:將自定義對象投射到Javascript中的另一個自定義對象

return ((TimeSeriesPoint)tsArray.get(pointIndex)).get(valueIndex); 

其中tsArrayArrayListTimeSeriesPoint是其實施存在的自定義類。是否可以在的Javascript中執行此類鑄造?

在此先感謝

+0

在JavaScript中沒有對象的類型安全,因爲我知道。您可以將一個對象分配給另一個對象而無需任何投射 – vikas 2014-10-06 17:11:52

+1

鑄造應該沒有必要。請參閱[duck typing](http://stackoverflow.com/questions/4205130/what-is-duck-typing)。 – superEb 2014-10-06 17:12:08

回答

1

JavaScript中沒有對象的類型,所以沒有強制轉換。

對於你想做什麼,你TimeSeriesPoint構造應該採取一個點作爲一個參數並從中構建一個新的對象,這樣就可以,如果你的點調用它像

return (new TimeSeriesPoint(tsArray.get(pointIndex)).get(valueIndex); 

另外,在陣列中是非常相似的時間序列點(並通過duck typing資格作爲他們的,即具有相同的實例屬性),你可以只適用於他們的TimeSeriesPointget方法:

return TimeSeriesPoint.prototype.get.call(tsArray.get(pointIndex), valueIndex); 
+0

謝謝,構建一個新對象似乎是解決方案。 – elbereth 2014-10-06 17:32:12

0

在JavaScript中沒有對象的類型安全,因爲我知道。您可以將一個對象分配給另一個對象而無需任何投射

請看下面的例子。

var x= []; // x is an array 
x = {}; // Now x changes to object 
相關問題