2016-06-16 17 views
-1

ES6/ES2015の矢印関数では、パラメータの前後に角かっこを使用して宣言できます。javascriptの矢印関数宣言での角括弧の使用

すなわち:

var foo_1 = myVar => { 
    return myVar + 1; 
} 

か:

var foo_2 = (myVar) => { 
    return myVar + 2; 
} 

私が知りたいのです: 差が(もしあれば)何ですか?

+5

ありません。引数が1つしかない場合は、どちらかを使用できます。 PS:これらは "カッコ"で、 "かっこ"ではありません – zerkms

+0

これはプロパティではなく、パラメータbtwです。 –

+0

クロージャの括弧の目的は、複数の引数を持つことができるということだけです。あなたのサンプルにdiffはありません。 – choz

答えて

2

例には違いはありません。

あなたは必要括弧あなた

  • には、パラメータを持っていない場合:(foo, bar) => ...
  • 使用の非構造:({foo}) => ...
  • 使用デフォルト値:() => ...
  • は、複数のパラメータを持っている(foo = 42) => ...
  • を持っています残りパラメータ:(...bar) => ...
  • あなたは単一の識別子のみのパラメータを持っていない時はいつでも、換言すれば、上記

の任意の組み合わせを持っています。

+1

'foo_1.toString()!= foo_2.toString()'は唯一の違いです:-) – Bergi

関連する問題