2016-06-16 12 views
-1

In ES6/ES2015 können Pfeilfunktionen mit oder ohne Klammern um den Parameter deklariert werden.Die Verwendung von Klammern in Javascript Pfeilfunktionserklärung

dh:

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

oder:

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

Was würde Ich mag es wissen: was ist der Unterschied (falls vorhanden)?

+5

Es gibt keine. Wenn es nur ein Argument gibt, können Sie beides verwenden. PS: das sind "Klammern", nicht "Klammern" – zerkms

+0

Dies ist ein Parameter BTW, keine Eigenschaft. –

+0

Der Zweck von Klammern in Schließung ist nur, dass Sie mehrere Argumente haben können. Es gibt keinen Unterschied in Ihrer Probe .. – choz

Antwort

2

In Ihrem Beispiel gibt es keine Unterschiede.

Sie Notwendigkeit Klammern, wenn Sie

  • keine Parameter haben: () => ...
  • haben mehrere Parameter: (foo, bar) => ...
  • Verwendung Destrukturierung: ({foo}) => ...
  • verwenden Sie die Standardwerte: (foo = 42) => ...
  • haben ein Ruheparameter: (...bar) => ...
  • haben eine beliebige Kombination der oben

Mit anderen Worten, wenn Sie nicht einen einzigen Kennung Geschützter Parameter haben.

+1

'foo_1.toString()! = Foo_2.toString()' ist der einzige Unterschied, um zu kommen :-) – Bergi

Verwandte Themen