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
undobject["property"]
). ?.
-
Der optionale Chaining-Operator gibt
undefined
zurück, anstatt einen Fehler zu verursachen, wenn eine Referenz nullish ist (null
oderundefined
). new
-
Der
new
-Operator erstellt eine Instanz eines Konstruktors. new.target
-
In Konstruktoren bezieht sich
new.target
auf den Konstruktor, der durchnew
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
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
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
Bitweise Schiebeoperatoren
Binäre Bitweise Operatoren
Binäre Logische Operatoren
Logische Operatoren setzen boolean (logische) Werte um und haben ein Kurzzusammenbrechen Verhalten.
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
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.