Ausdrücke und Operatoren
Dieses Kapitel dokumentiert alle JavaScript-Sprachoperatoren, Ausdrücke und Schlüsselwörter.
Ausdrücke und Operatoren nach Kategorie
Für ein alphabetisches Verzeichnis siehe die Seitenleiste auf der linken Seite.
Primärausdrücke
Grundlegende Schlüsselwörter und allgemeine Ausdrücke in JavaScript. Diese Ausdrücke haben die höchste Vorrangigkeit (höher als die Operatoren).
this
-
Das Schlüsselwort
this
bezieht sich auf eine spezielle Eigenschaft eines Ausführungskontexts. - Literale
-
Grundlegende
null
-, boolesche, Zahlen- und Zeichenfolgenliterale. []
-
Array-Initialisierungs-/Literal-Syntax.
{}
-
Objekt-Initialisierungs-/Literal-Syntax.
function
-
Das Schlüsselwort
function
definiert einen Funktionsausdruck. class
-
Das Schlüsselwort
class
definiert einen Klassenausdruck. function*
-
Das Schlüsselwort
function*
definiert einen Generator-Funktionsausdruck. async function
-
Das
async function
definiert einen asynchronen Funktionsausdruck. async function*
-
Die Schlüsselwörter
async function*
definieren einen asynchronen Generator-Funktionsausdruck. /ab+c/i
-
Reguläre Ausdruck-Literal-Syntax.
`string`
-
Template-Literal-Syntax.
( )
-
Gruppierungsoperator.
Linke Ausdrücke
Linkswerte sind das Ziel einer Zuweisung.
- Property accessors
-
Mit Member-Operatoren kann auf eine Eigenschaft oder Methode eines Objekts zugegriffen werden (
object.property
undobject["property"]
). ?.
-
Der optionale Verkettungsoperator gibt
undefined
zurück, anstatt einen Fehler zu verursachen, wenn ein Verweis nullish (null
oderundefined
) ist. new
-
Der
new
-Operator erstellt eine Instanz eines Konstruktors. new.target
-
In Konstruktoren bezieht sich
new.target
auf den Konstruktor, der vonnew
aufgerufen wurde. import.meta
-
Ein Objekt, das kontextspezifische Metadaten für ein JavaScript-Modul bereitstellt.
super
-
Das Schlüsselwort
super
ruft den Eltern-Konstruktor auf oder ermöglicht den Zugriff auf Eigenschaften des Elternobjekts. import()
-
Die
import()
-Syntax ermöglicht das asynchrone und dynamische Laden eines Moduls in ein möglicherweise nicht modulares Umfeld.
Inkrement- und Dekrementoperatoren
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 dessen Rückgabewert. typeof
-
Der
typeof
-Operator bestimmt den Typ eines gegebenen Objekts. +
-
Der unäre Plus-Operator konvertiert seinen Operanden in den Zahlentyp.
-
-
Der unäre Negationsoperator konvertiert seinen Operanden in den Zahlentyp und negiert ihn dann.
~
-
Bitweiser NICHT-Operator.
!
-
Logischer NICHT-Operator.
await
-
Pausieren und Fortsetzen einer asynchronen Funktion und Warten auf die Erfüllung/Ablehnung des Versprechens.
Arithmetische Operatoren
Relationale Operatoren
Ein Vergleichsoperator vergleicht seine Operanden und gibt einen booleschen Wert basierend darauf zurück, ob der Vergleich wahr ist.
<
(Kleiner als)-
Kleiner-als-Operator.
>
(Größer als)-
Größer-als-Operator.
<=
-
Kleiner-als-oder-gleich-Operator.
>=
-
Größer-als-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 hat.
Note:
=>
ist kein Operator, sondern die Notation für Arrow-Funktionen.
Gleichheitsoperatoren
Bitweise Verschiebungsoperatoren
Binäre bitweise Operatoren
Binäre logische Operatoren
Logische Operatoren implementieren boolesche (logische) Werte und haben Kurzschlussverhalten.
Bedingungsoperator (ternärer Operator)
(condition ? ifTrue : ifFalse)
-
Der Bedingungsoperator gibt einen von zwei Werten zurück, basierend auf dem logischen Wert der Bedingung.
Zuweisungsoperatoren
Ein Zuweisungsoperator ordnet seinem linken Operanden basierend auf dem Wert seines rechten Operanden einen Wert zu.
=
-
Zuweisungsoperator.
*=
-
Multiplikationszuweisung.
/=
-
Divisionszuweisung.
%=
-
Restzuweisung.
+=
-
Additionszuweisung.
-=
-
Subtraktionszuweisung.
<<=
-
Linksverschiebungszuweisung.
>>=
-
Rechtsverschiebungszuweisung.
>>>=
-
Unsigned-Rechtsverschiebungszuweisung.
&=
-
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
-
Das Destructuring erlaubt Ihnen, die Eigenschaften eines Arrays oder Objekts Variablen zuzuweisen, unter Verwendung einer Syntax, die ähnlich wie bei Array- oder Objektliteralen aussieht.
Yield-Operatoren
Spread-Syntax
...obj
-
Die Spread-Syntax erlaubt es, ein iterables Objekt, wie ein Array oder eine Zeichenfolge, in Bereichen zu erweitern, in 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-Werte-Paare dem erzeugten Objekt hinzu.
Komma-Operator
,
-
Der Komma-Operator erlaubt es, mehrere Ausdrücke in einer einzigen Anweisung zu evaluieren und gibt das Ergebnis des letzten Ausdrucks zurück.
Spezifikationen
Browser-Kompatibilität
BCD tables only load in the browser