Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Der Gruppierungsoperator ( ) steuert die Reihenfolge der Auswertung in Ausdrücken. Er dient auch als Container für beliebige Ausdrücke in bestimmten syntaktischen Konstrukten, in denen es sonst zu Mehrdeutigkeiten oder Syntaxfehlern kommen könnte.
Jeder Ausdruck, der ausgewertet werden soll, einschließlich durch Kommas verbundener Ausdrücke.
Der Gruppierungsoperator besteht aus einem Paar von Klammern um einen Ausdruck, der die Inhalte gruppiert. Der Operator überschreibt die normale Operatorpriorität, sodass Operatoren mit niedriger Priorität (so niedrig wie der Komma Operator) vor einem Operator mit höherer Priorität ausgewertet werden können.
Auswerten von Addition und Subtraktion vor Multiplikation und Division.
Beachten Sie in diesen Beispielen, dass sich die Reihenfolge der _Operatoren-_Auswertung geändert hat, nicht jedoch die Reihenfolge der _Operanden-_Auswertung. Zum Beispiel werden in diesem Code die Funktionsaufrufe a(), b() und c() von links nach rechts ausgewertet (die normale Auswertungsreihenfolge), bevor die Operatorreihenfolge berücksichtigt wird.
Die Funktion a wird vor der Funktion b aufgerufen, die vor der Funktion c aufgerufen wird. Weitere Informationen zur Operatorpriorität finden Sie auf der Referenzseite.
Ein Ausdrucksstattement kann nicht mit dem Schlüsselwort function beginnen, da der Parser es sonst als Beginn einer Funktionsdeklaration ansehen würde. Das bedeutet, dass die folgende IIFE-Syntax ungültig ist:
Der Gruppierungsoperator kann verwendet werden, um diese Mehrdeutigkeit zu beseitigen, da der Parser, wenn er die linke Klammer sieht, weiß, dass das Folgende ein Ausdruck und keine Deklaration sein muss.
Sie können auch den void Operator verwenden, um Mehrdeutigkeiten zu beseitigen.
In einem Pfeilfunktions- Ausdrückskörper (einer, der direkt einen Ausdruck ohne das Schlüsselwort return zurückgibt) kann der Gruppierungsoperator verwendet werden, um einen Objektliteral-Ausdruck zurückzugeben, da ansonsten die linke geschweifte Klammer als Beginn des Funktionskörpers interpretiert werden würde.
Wenn eine Eigenschaft auf einem Zahlenliteral zugegriffen wird, könnte der Eigenschafts-Zugriffsoperator Punkt . mit einem Dezimalpunkt verwechselt werden, es sei denn, die Zahl hat bereits einen Dezimalpunkt. Sie können Ganzzahlliterale in Klammern setzen, um diese Mehrdeutigkeit zu beseitigen.
Der Gruppierungsoperator kann automatische Semikolon-Einfügungs- (ASI) Fallstricke abmildern. Zum Beispiel dürfen zwischen dem return Schlüsselwort und dem zurückgegebenen Ausdruck kein Zeilenumbruch stehen:
Dieser Code wird undefined zurückgeben, da direkt nach dem return Schlüsselwort ein Semikolon eingefügt wird, was dazu führt, dass die Funktion sofort zurückkehrt, ohne a + b auszuwerten. Falls der zurückgegebene Ausdruck lang ist und Sie ihn gut formatiert halten möchten, können Sie den Gruppierungsoperator verwenden, um anzuzeigen, dass dem return Schlüsselwort ein Ausdruck folgt und die Semikolon-Einfügung zu verhindern:
Allerdings kann das Gruppieren auch ASI-_Gefahren _einführen. Wenn eine Zeile mit einer linken Klammer beginnt und die vorherige Zeile mit einem Ausdruck endet, wird der Parser kein Semikolon vor dem Zeilenumbruch einfügen, da es sich in der Mitte eines Funktionsaufrufs befinden könnte. Zum Beispiel:
Dieser Code würde wie folgt interpretiert werden:
Was "TypeError: 1 is not a function" auslöst. Wenn Ihr Codierungsstil keine Semikolons verwendet, denken Sie daran, dass, wenn eine Zeile mit einer linken Klammer beginnt, diese mit einem Semikolon vorzupenden. Diese Praxis wird von mehreren Formatierern und/oder Stilrichtlinien empfohlen, darunter Prettier und standard.
Für weitere Ratschläge zur Arbeit mit ASI sehen Sie im Referenzabschnitt nach.
| ECMAScript® 2027 Language Specification # sec-grouping-operator |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.