2016-08-03 6 views
0

私はHomeAssistantフロントエンドのソースコードを理解しようとしています。私は関数の定義がわかりません。この矢印のJavaScriptコードの意味は何ですか?

return [[string, string], bool]:私は、それは次のようになめらかように見える

export function createHasDataGetter(model) { 
    return [ 
    ['restApiCache', model.entity], 
    entityMap => !!entityMap, 
    ]; 
} 

...(model.entityが文字列である)この構文を理解していけませんか?

この関数のexacly teturn型とは何ですか?これはちょうどboolですか?はいの場合、entityMapが文字列配列であることを意味しますか?

+0

既に矢印機能がわかっている場合は、何について混乱していますか?あなたはすでにそれが関数であり、「ブール」ではないことをすでに知っているようです。 –

+0

重複:http://stackoverflow.com/questions/24900875/whats-the-meaning-of-an-arrow-formed-from-equals-greater-than-in-javas?noredirect=1&lq=1 – Paulpro

+0

'entityMap => !! entityMap'は 'function(entityMap){return !!と同じです。 entityMap; } ' – Paulpro

答えて

3

"Truthy" on MDNを参照してください:

はJavaScriptでは、truthy値がブールコンテキストで評価する際trueに変換された値です。すべての値は、真偽である(すなわち、false0""nullundefined、およびNaNを除く)。

entityMap => !!entityMap標準的なブール値にマップentityMaptrueまたはfalseWhat is "!!" in C?も参照してください。

entityMapがtruthy値を有する場合、!entityMapfalseであり、そして!!entityMaptrueがあります。

entityMapがfalsy値を有する場合、!entityMaptrue!!entityMapとはfalseあります。

関連する問題