Ausdrücke und Operatoren
Dieses Kapitel dokumentiert alle Operatoren, Ausdrücke und Schlüsselwörter der JavaScript-Sprache.
Ausdrücke und Operatoren nach Kategorie
Für eine alphabetische Auflistung siehe die Seitenleiste links.
Primärausdrücke
Grundlegende Schlüsselwörter und allgemeine Ausdrücke in JavaScript. Diese Ausdrücke haben die höchste Priorität (höher als Operatoren).
this
-
Das
this
-Schlüsselwort bezieht sich auf eine spezielle Eigenschaft eines Ausführungskontextes. - Literale
-
Grundlegende
null
-, boolesche, Zahlen- und Zeichenfolgen-Literale. []
-
Array-Initialisierer/Literal-Syntax.
{}
-
Objekt-Initialisierer/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
-
async function
definiert einen asynchronen Funktionsausdruck. async function*
-
Die
async function*
-Schlüsselwörter definieren einen asynchronen Generator-Funktionsausdruck. /ab+c/i
-
Reguläre Ausdrucks-Literal-Syntax.
`string`
-
Template-Literal-Syntax.
( )
-
Gruppierungsoperator.
Linksseitige Ausdrücke
Linkswerte sind das Ziel einer Zuweisung.
- Eigenschaftszugriffe
-
Member-Operatoren ermöglichen den Zugriff auf eine Eigenschaft oder Methode eines Objekts (
object.property
undobject["property"]
). ?.
-
Der Operator für optionale Verkettungen 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 für ein JavaScript-Modul bereitstellt.
super
-
Das
super
-Schlüsselwort ruft den Elter-Konstruktor auf oder ermöglicht den Zugriff auf Eigenschaften des Elter-Objekts. import()
-
Die
import()
-Syntax erlaubt das asynchrone und dynamische Laden eines Moduls in eine potenziell nicht modulare Umgebung.
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 den Zahlentyp.
-
-
Der unäre Negationsoperator konvertiert seinen Operanden in den Zahlentyp und negiert ihn dann.
~
-
Bitweiser NOT-Operator.
!
-
Logischer NOT-Operator.
await
-
Pausiert und setzt eine asynchrone Funktion fort und wartet auf die Erfüllung/zurückweisung des Versprechens.
Arithmetische Operatoren
Arithmetische Operatoren verwenden numerische Werte (entweder Literale oder Variablen) als ihre Operanden und geben einen einzigen numerischen Wert zurück.
Relationsoperatoren
Ein Vergleichsoperator vergleicht seine Operanden und gibt einen booleschen Wert zurück, basierend darauf, 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 bestimmte Eigenschaft hat.
Note:
=>
ist kein Operator, sondern die Notation für Arrow-Funktionen.
Gleichheitsoperatoren
Bitweise Verschiebeoperatoren
Binäre bitweise Operatoren
Binäre logische Operatoren
Logische Operatoren implementieren boolesche (logische) Werte und haben ein Kurzschlussverhalten.
Bedingungs (ternäre) Operator
(condition ? ifTrue : ifFalse)
-
Der bedingte Operator 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.
<<=
-
Linksverschiebezuweisung.
>>=
-
Rechtsverschiebezuweisung.
>>>=
-
Unsignierte Rechtsverschiebezuweisung.
&=
-
Bitweise UND-Zuweisung.
^=
-
Bitweise XOR-Zuweisung.
|=
-
Bitweise ODER-Zuweisung.
**=
-
Exponentiationszuweisung.
&&=
-
Logische UND-Zuweisung.
||=
-
Logische ODER-Zuweisung.
??=
-
Nullish Coalescing-Zuweisung.
[a, b] = arr
,{ a, b } = obj
-
Die Destrukturierungszuweisung ermöglicht es Ihnen, die Eigenschaften eines Arrays oder Objekts Variablen zuzuweisen, indem eine Syntax verwendet wird, die ähnlich wie Array- oder Objektliterale aussieht.
Yield-Operatoren
Spread-Syntax
...obj
-
Die Spread-Syntax ermöglicht 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 zählt die Spread-Syntax die Eigenschaften eines Objekts auf und fügt die Schlüssel-Wert-Paare dem erstellten Objekt hinzu.
Komma-Operator
,
-
Der Komma-Operator ermöglicht es, mehrere Ausdrücke in einer einzigen Anweisung auszuwerten und gibt das Ergebnis des letzten Ausdrucks zurück.
Spezifikationen
Browser-Kompatibilität
BCD tables only load in the browser