2017-05-09 16 views
1

周りの括弧私はJavaScriptに新たなんだと単純なことを理解することはできません - 誰かが説明したりするためのリンクを与えることができESCMAScript 6矢印機能 - パラメータ

...(x) => { return x*2} 

...x => { return x*2} //(just for example, may not work) 

の違いは何ですか説明?

+1

2つ以上の入力引数がある場合は、 'x'の前後のかっこが必要です。 1つだけ(ここに示したように)、2つのステートメントは同じです。 –

+0

1つの引数の前後に括弧が1つあります。どちらかが合法です。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functionsここで '...'を使うのは、それらの表現によって誤解を招く可能性があることに注意してください。それらはES6のものです:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator –

+0

も参照してくださいhttp://stackoverflow.com/questions/41085189/using-オプションのカッコのいくつかの点については、es6-typescriptの下線付き可変機能付きの下線付き変数です。 – estus

答えて

4

入力引数の周りの括弧(この場合はx)は、2つ以上の入力引数がある場合にのみ必要です。 1つだけ(ここに示したように)、2つのステートメントは同じです。

(x) => { return x * 2; }

(x, y) => { return x * y; }

は、入力引数の周りに括弧が必要です、x => { return x * 2; }

と同じですが。

thisすべての詳細については、

+0

最初の引数にデフォルトがあり、かつ/または破壊を使用する場合には、括弧も必要であると述べる価値があります。 – loganfsmyth

+0

@loganfsmythはい、それは含まれています(「落とし穴」の詳細の一部)。 –

+0

私は、「2つ以上の入力引数がある場合にのみ必要です」というステートメントの絶対性に驚いたと思います。なぜなら、それは真実ではないからです。 – loganfsmyth