2015-09-30 13 views
5

tl; dr:何が=>するのですか?JavaScriptでは=>意味は何ですか? (より大きい)

私はちょうどcodewars上の問題を解決し終えたと問題に他の人々の共通の反応を見た後、私はこれを見続ける:問題は以下の通りです=>

を:

あなたは矢筒を持っていますいくつかは傷ついています。震えには矢印が含まれています。オプションの範囲情報(さまざまな種類のターゲットが異なる範囲に配置されています)は、各項目が矢印です。 戦闘の準備をするために、良いものが残っていることを確認する必要があります。以下は、矢印の震えた例の配列です。

anyArrows([ 
{range: 5}, 
{range: 10, damaged: true}, 
{damaged: true} 
]) 

矢筒の矢印が破損した状態を持っていない場合、それは新機能を意味します。

これは矢筒で損傷していない矢印がある場合に応じて、trueまたはfalseを返し、私が見た例は次のとおりです。

function anyArrows(arrows){ 
    return arrows.some(a => !a.damaged); 
} 

が、それは私のコードよりも道短かったです!鉱山は、多くの基本的だった:

再び
function anyArrows(arrows){ 
    for (var i = 0 ; i < arrows.length ; i++){ 
    if (arrows[i].damaged === false) { return true; } 
    else if (arrows[i].damaged === true) { return false; } 
    else if (arrows[i].range === 0) { return false } 
    else { return true; } 
    } 
    if (arrows.length === 0) return false; 
} 

しかし、質問です:=>は、この場合には、一般的に何をするのでしょうか?

+1

[矢印機能(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions)? –

+0

これはES6の新しい短い関数構文です。例えば。 'function(x){return x.Id;}'は 'x => x.Id'になります。これはC#のラムダ式に似ています。 –

+0

私はLINQクエリのように思えます。基本的には、矢印が返される矢印は '!//はオブジェクトからのものです.'は'!damage'です。このhttps://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/someをご覧ください – Canvas

答えて

8

=>は、矢印機能パラメータを身体から分離するES2015構文です。 (params) => { /* body */ }

ArrowFunction : ArrowParameters => ConciseBody

関連する問題