
stiller_coder
Im Code des Restify-Frameworks habe ich diese Funktion gefunden:
function queryParser(options) {
function parseQueryString(req, res, next) {
// Some code goes there
return (next());
}
return (parseQueryString);
}
Warum sollte der Autor schreiben return (next());
und return (parseQueryString);
? Braucht es dort Klammern und wenn ja, warum?

Andru
Die Verwendung von Klammern bei der Rückgabe ist erforderlich, wenn Sie möchten Schreiben Sie Ihre Rückgabeerklärung über mehrere Zeilen.
React.js
bietet ein nützliches Beispiel. In der Rückgabeerklärung des render
-Property in einer Komponente möchten Sie normalerweise den zurückgegebenen JSX aus Gründen der Lesbarkeit auf mehrere Zeilen verteilen, z.
render: function() {
return (
<div className="foo">
<h1>Headline</h1>
<MyComponent data={this.state.data} />
</div>
);
}
Ohne Klammern führt dies zu einem Fehler!
Allgemeiner gesagt führt das Fehlen von Klammern beim Verteilen einer return-Anweisung über mehrere Zeilen zu einem Fehler. Das folgende Beispiel wird richtig ausführen:
var foo = function() {
var x = 3;
return (
x
+
1
);
};
console.log(foo());
Während das Folgende (ohne die Klammern) wird Fehler werfen:
var foo = function() {
var x = 3;
return
x
+
1
;
};
console.log(foo());

Darin Dimitrow
Es muss nicht so sein, aber es ist gültiger JavaScript-Code. Eigentlich ist es ziemlich ungewöhnlich, eine solche Syntax zu sehen. Ich denke, es ist eine persönliche Vorliebe des Autors.

Basyonisch
Klammern werden in einer return-Anweisung für zwei Zwecke verwendet.
- Zur Unterstützung von mehrzeiligen Ausdrücken, wie in @Andru Answer erwähnt.
- Um das Zurückgeben von Objekten in Pfeilfunktionen wie folgt zuzulassen:
() => ({ name: 'Amanda' }) // Shorthand to return an object
Dies entspricht
() => {
return { name : 'Amanda' }
}
Weitere Informationen finden Sie in diesem Artikel.
https://medium.com/@leannezhang/curly-braces-versus-parenthesis-in-reactjs-4d3ffd33128f
// Create a component named MessageComponent
var MessageComponent = React.createClass({
render: function() {
return (
<div>{this.props.message}</div>
);
}
});
ANMERKUNG Warum brauchen wir die Klammern um die return-Anweisung (Zeile 3)? Dies liegt an der automatischen Semikolon-Einfügung von JavaScript. Ohne die Klammern würde JavaScript die folgenden Zeilen ignorieren und ohne Wert zurückgeben. Wenn der JSX in derselben Zeile wie der Return beginnt, werden keine Klammern benötigt.
Genommen von hier.

Brian Weiner
Nur um das zu ergänzen, was andere gesagt haben.
Die Verwendung von Klammern um den Rückgabewert ist gültiges JavaScript, aber meistens eine schlechte Sache.
Meistens schlecht, weil es nichts hinzufügt, aber die Größe des JavaScripts erhöht, was bedeutet, dass mehr in den Browser heruntergeladen werden muss. Ja, die meisten Menschen haben schnelle Breitbandverbindungen, aber vergessen Sie nicht, dass alles, was Sie in die JavaScript-Datei einfügen, heruntergeladen werden muss, um unnötiges Aufblähen des Codes zu vermeiden. Dies spielt wahrscheinlich keine Rolle, wenn Sie ein Tool zum Komprimieren Ihres Codes verwenden (Minifier wurde bereits erwähnt), aber nicht jeder tut es.
Manchmal kann es die Lesbarkeit verbessern. Es fällt mir schwer, in diesem Fall ein Beispiel zu finden, aber wenn die Verwendung von Klammern Ihr JavaScript für Sie als Entwickler klarer und damit einfacher zu warten macht, dann verwenden Sie sie – auch wenn es gegen das verstößt, was ich über das Aufblähen von Code gesagt habe.

Peter Mortensen
Warum sollte der Autor return (next()) schreiben? … ?
Bezüglich next()
:
Wahrscheinlich, weil seine Funktion in etwa so ist:
function next()
{
var i=0;
return function (){
// Do something with that closured i....
}
}
Bezüglich (xxx);
:
Es ist unnötig. Jeder Minifier wird es entfernen.
Beispiel (uglifyJS):

wird:


Hexmann
Ich habe es versucht:
var a = function() {
return true || true
}
console.log(a());
//return: true
var a = function() {
return
true || true
}
console.log(a());
//return: undefined
var a = function() {
return (
true || true
)
}
console.log(a());
//return: true
10181600cookie-checkWarum bei der Rückgabe in JavaScript Klammern verwenden?yes
Es ist nicht notwendig. Es ist nur eine Wahl.
– AbhinavRanjan
29. Dezember 2013 um 11:16 Uhr
Es könnte auch verwendet werden, um zu vermeiden automatische Semikolon-Einfügung.
– Giannis Christofakis
29. Dezember 2015 um 21:44 Uhr
Interessanter Beitrag hier zum Thema jamesknelson.com/javascript-return-parenthesis danke für die tolle Frage hat mir geholfen, eine Menge zu lernen
– Katto
11. Mai 2018 um 12:41 Uhr