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.