Ausdrücke und Operatoren

Dieses Kapitel dokumentiert alle JavaScript-Sprachoperatoren, Ausdrücke und Schlüsselwörter.

Ausdrücke und Operatoren nach Kategorie

Eine alphabetische Auflistung finden Sie in der Seitenleiste links.

Primärausdrücke

Grundlegende Schlüsselwörter und allgemeine Ausdrücke in JavaScript. Diese Ausdrücke haben die höchste Präzedenz (höher als Operatoren).

this

Das this-Schlüsselwort bezieht sich auf eine spezielle Eigenschaft eines Ausführungskontextes.

Literale

Grundlegende null-, boolean-, Zahlen- und Zeichenfolgenliterale.

[]

Array-Initialisierungs-/Literal-Syntax.

{}

Objekt-Initialisierungs-/Literal-Syntax.

function

Das function-Schlüsselwort definiert einen Funktionsausdruck.

class

Das class-Schlüsselwort definiert einen Klassenausdruck.

function*

Das function*-Schlüsselwort definiert einen Generator-Funktionsausdruck.

async function

Das async function definiert einen asynchronen Funktionsausdruck.

async function*

Die async function*-Schlüsselwörter definieren einen asynchronen Generator-Funktionsausdruck.

/ab+c/i

Syntax für reguläre Ausdrücke.

`string`

Template-Literal-Syntax.

( )

Gruppierungsoperator.

Linkshändige Ausdrücke

Linke Werte sind das Ziel einer Zuweisung.

Property accessors

Member-Operatoren bieten Zugriff auf eine Eigenschaft oder Methode eines Objekts (object.property und object["property"]).

?.

Der optionale Chaining-Operator gibt undefined zurück, anstatt einen Fehler zu verursachen, wenn eine Referenz nullish ist (null oder undefined).

new

Der new-Operator erstellt eine Instanz eines Konstruktors.

new.target

In Konstruktoren bezieht sich new.target auf den Konstruktor, der durch new aufgerufen wurde.

import.meta

Ein Objekt, das kontextspezifische Metadaten in einem JavaScript-Modul bereitstellt.

super

Das super-Schlüsselwort ruft den Elternkonstruktor auf oder ermöglicht den Zugriff auf Eigenschaften des Elternobjekts.

import()

Die import()-Syntax ermöglicht es, ein Modul asynchron und dynamisch in eine potenziell nicht-modulare Umgebung zu laden.

Inkrement und Dekrement

Postfix/Präfix-Inkrement und Postfix/Präfix-Dekrement-Operatoren.

A++

Postfix-Inkrement-Operator.

A--

Postfix-Dekrement-Operator.

++A

Präfix-Inkrement-Operator.

--A

Präfix-Dekrement-Operator.

Unäre Operatoren

Eine unäre Operation ist eine Operation mit nur einem Operanden.

delete

Der delete-Operator löscht eine Eigenschaft aus einem Objekt.

void

Der void-Operator wertet einen Ausdruck aus und verwirft seinen Rückgabewert.

typeof

Der typeof-Operator bestimmt den Typ eines gegebenen Objekts.

+

Der unäre Plus-Operator konvertiert seinen Operanden in einen Zahlentyp.

-

Der unäre Negationsoperator konvertiert seinen Operanden in einen Zahlentyp und negiert ihn dann.

~

Bitweise NOT-Operator.

!

Logischer NOT-Operator.

await

Pausiert und setzt eine asynchrone Funktion fort und wartet auf die Erfüllung/Ablehnung des Versprechens.

Arithmetische Operatoren

Arithmetische Operatoren nehmen numerische Werte (entweder Literale oder Variablen) als ihre Operanden und geben einen einzigen numerischen Wert zurück.

**

Exponentiationsoperator.

*

Multiplikationsoperator.

/

Divisionsoperator.

%

Restoperator.

+ (Plus)

Additionsoperator.

-

Subtraktionsoperator.

Relationale Operatoren

Ein Vergleichsoperator vergleicht seine Operanden und gibt einen boolean-Wert zurück, basierend darauf, ob der Vergleich wahr ist.

< (Kleiner als)

Kleiner-als-Operator.

> (Größer als)

Größer-als-Operator.

<=

Kleiner-oder-gleich-Operator.

>=

Größer-oder-gleich-Operator.

instanceof

Der instanceof-Operator bestimmt, ob ein Objekt eine Instanz eines anderen Objekts ist.

in

Der in-Operator bestimmt, ob ein Objekt eine gegebene Eigenschaft besitzt.

Hinweis:>=> ist kein Operator, sondern die Notation für Arrow functions.

Gleichheitsoperatoren

Das Ergebnis der Auswertung eines Gleichheitsoperators ist immer vom Typ boolean, basierend darauf, ob der Vergleich wahr ist.

==

Gleichheitsoperator.

!=

Ungleichheitsoperator.

===

Strikter Gleichheitsoperator.

!==

Strikter Ungleichheitsoperator.

Bitweise Schiebeoperatoren

Operationen, um alle Bits des Operanden zu verschieben.

<<

Bitweiser Linksschiebeoperator.

>>

Bitweiser Rechtsschiebeoperator.

>>>

Bitweiser nicht signierter Rechtsschiebeoperator.

Binäre Bitweise Operatoren

Bitweise Operatoren behandeln ihre Operanden als eine Menge von 32 Bits (Nullen und Einsen) und geben standardmäßige JavaScript-Zahlenwerte zurück.

&

Bitweises UND.

|

Bitweises ODER.

^

Bitweises XOR.

Binäre Logische Operatoren

Logische Operatoren setzen boolean (logische) Werte um und haben ein Kurzzusammenbrechen Verhalten.

&&

Logisches UND.

||

Logisches ODER.

??

Nullish Coalescing Operator.

Bedingungsoperator (ternärer Operator)

(condition ? ifTrue : ifFalse)

Der Bedingungsoperator gibt einen von zwei Werten basierend auf dem logischen Wert der Bedingung zurück.

Zuweisungsoperatoren

Ein Zuweisungsoperator weist seinem linken Operanden einen Wert basierend auf dem Wert seines rechten Operanden zu.

=

Zuweisungsoperator.

*=

Multiplikationszuweisung.

/=

Divisionszuweisung.

%=

Restzuweisung.

+=

Additionszuweisung.

-=

Subtraktionszuweisung.

<<=

Linksschiebezuweisung.

>>=

Rechtsschiebezuweisung.

>>>=

Nicht signierte Rechtsschiebezuweisung.

&=

Bitweises UND-Zuweisung.

^=

Bitweises XOR-Zuweisung.

|=

Bitweises ODER-Zuweisung.

**=

Exponentiationszuweisung.

&&=

Logische UND-Zuweisung.

||=

Logische ODER-Zuweisung.

??=

Nullish Coalescing Zuweisung.

[a, b] = arr, { a, b } = obj

Destrukturierung ermöglicht es Ihnen, die Eigenschaften eines Arrays oder Objekts Variablen zuzuweisen, indem sie eine Syntax verwenden, die ähnlich wie Array- oder Objektliterale aussieht.

Yield-Operatoren

yield

Pausiert und setzt einen Generator-Funktion fort.

yield*

Delegiert an eine andere Generator-Funktion oder iterierbares Objekt.

Spread-Syntax

...obj

Spread-Syntax erlaubt es, ein iterierbares Objekt, wie ein Array oder eine Zeichenfolge, an Stellen zu erweitern, an denen null oder mehr Argumente (für Funktionsaufrufe) oder Elemente (für Array-Literale) erwartet werden. In einem Objektliteral enumeriert die Spread-Syntax die Eigenschaften eines Objekts und fügt die Schlüssel-Wert-Paare dem erstellten Objekt hinzu.

Komma-Operator

,

Der Komma-Operator erlaubt es, mehrere Ausdrücke in einer einzigen Anweisung auszuwerten und gibt das Ergebnis des letzten Ausdrucks zurück.

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-multiplicative-operators
ECMAScript® 2026 Language Specification
# sec-assignment-operators
ECMAScript® 2026 Language Specification
# sec-generator-function-definitions-runtime-semantics-evaluation
ECMAScript® 2026 Language Specification
# sec-object-initializer
ECMAScript® 2026 Language Specification
# sec-async-function-definitions
ECMAScript® 2026 Language Specification
# sec-conditional-operator
ECMAScript® 2026 Language Specification
# sec-relational-operators
ECMAScript® 2026 Language Specification
# sec-unsigned-right-shift-operator
ECMAScript® 2026 Language Specification
# sec-unary-minus-operator
ECMAScript® 2026 Language Specification
# sec-unary-plus-operator
ECMAScript® 2026 Language Specification
# prod-PropertyDefinition
ECMAScript® 2026 Language Specification
# sec-async-generator-function-definitions
ECMAScript® 2026 Language Specification
# sec-grouping-operator
ECMAScript® 2026 Language Specification
# sec-import-calls
ECMAScript® 2026 Language Specification
# sec-equality-operators
ECMAScript® 2026 Language Specification
# prod-BitwiseXORExpression
ECMAScript® 2026 Language Specification
# sec-typeof-operator
ECMAScript® 2026 Language Specification
# prod-OptionalExpression
ECMAScript® 2026 Language Specification
# sec-property-accessors
ECMAScript® 2026 Language Specification
# sec-logical-not-operator
ECMAScript® 2026 Language Specification
# sec-addition-operator-plus
ECMAScript® 2026 Language Specification
# sec-exp-operator
ECMAScript® 2026 Language Specification
# prod-SpreadElement
ECMAScript® 2026 Language Specification
# prod-LogicalANDExpression
ECMAScript® 2026 Language Specification
# sec-new-operator
ECMAScript® 2026 Language Specification
# sec-postfix-increment-operator
ECMAScript® 2026 Language Specification
# sec-generator-function-definitions
ECMAScript® 2026 Language Specification
# sec-void-operator
ECMAScript® 2026 Language Specification
# sec-super-keyword
ECMAScript® 2026 Language Specification
# sec-signed-right-shift-operator
ECMAScript® 2026 Language Specification
# prod-ImportMeta
ECMAScript® 2026 Language Specification
# sec-this-keyword
ECMAScript® 2026 Language Specification
# sec-subtraction-operator-minus
ECMAScript® 2026 Language Specification
# sec-left-shift-operator
ECMAScript® 2026 Language Specification
# prod-LogicalORExpression
ECMAScript® 2026 Language Specification
# sec-function-definitions
HTML
# import-meta-resolve
ECMAScript® 2026 Language Specification
# prod-BitwiseORExpression
ECMAScript® 2026 Language Specification
# sec-class-definitions
ECMAScript® 2026 Language Specification
# sec-postfix-decrement-operator
ECMAScript® 2026 Language Specification
# prod-YieldExpression
ECMAScript® 2026 Language Specification
# sec-comma-operator
ECMAScript® 2026 Language Specification
# prod-CoalesceExpression
ECMAScript® 2026 Language Specification
# prod-ArgumentList
ECMAScript® 2026 Language Specification
# prod-BitwiseANDExpression
ECMAScript® 2026 Language Specification
# sec-destructuring-assignment
ECMAScript® 2026 Language Specification
# sec-destructuring-binding-patterns
ECMAScript® 2026 Language Specification
# sec-bitwise-not-operator
ECMAScript® 2026 Language Specification
# sec-built-in-function-objects
ECMAScript® 2026 Language Specification
# sec-delete-operator
ECMAScript® 2026 Language Specification
# sec-null-value

Browser-Kompatibilität

Siehe auch