2017-04-25 127 views
1

在檢查一個開源項目(react data grid)的來源,我已經在這個語法,我不能環繞我的頭跌跌撞撞:的JavaScript - ES6語法

class EditorBase extends React.Component { 

    getStyle(): {width: string} { 
    return { 
     width: '100%' 
    }; 
} 


尤其是getStyle(): {部分。

我試着諮詢其他SO問題,MDN functionclasses引用,但沒有提及上述語法。

缺少什麼我在這裏?

+6

https://flow.org/ –

回答

2

因此,這看起來是一個用於Javascript的靜態類型檢查器的Flow類型(由Facebook創建)的用法。 (你能想到的像短絨但對於數據類型,而不是語法)

所以看起來混亂可能是該位的部分:

{width: string} 

在流動,當你有功能的後一個冒號它會表示從該函數返回的預期類型。

此代碼通知Flow函數應該返回一個對象,該對象的'width'鍵應該是'string'類型的鍵。

查看Flow.org瞭解更多信息,以及如何開始使用它自己!

1

您引用的代碼檢查傳遞給方法的變量的類型。

流程代碼/類型檢查僅用於開發模式,將被babel剝離。

Flow是JavaScript的靜態類型檢查器。

查看更多about flow

這是用於反應數據網格的babel plugin。它實際上已被棄用,你應該使用babel flow-runtime(如果你想使用它)。