Ausdrücke und Operatoren
Dieses Kapitel dokumentiert alle JavaScript-Sprachoperatoren, Ausdrücke und Schlüsselwörter.
Ausdrücke und Operatoren nach Kategorie
Für eine alphabetische Liste 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
thisSchlüsselwort bezieht sich auf eine spezielle Eigenschaft eines Ausführungskontextes. - Literale
-
Grundlegende
null-, boolean-, Zahlen- und String-Literale. []-
Array-Initializer/Literal-Syntax.
{}-
Objekt-Initializer/Literal-Syntax.
function-
Das
functionSchlüsselwort definiert einen Funktionsausdruck. class-
Das
classSchlüsselwort definiert einen Klassen-Ausdruck. function*-
Das
function*Schlüsselwort definiert einen Generator-Funktionsausdruck. async function-
async functiondefiniert einen asynchronen Funktionsausdruck. async function*-
Die
async function*Schlüsselwörter definieren einen asynchronen Generator-Funktionsausdruck. /ab+c/i-
Reguläre Ausdruck-Literal-Syntax.
`string`-
Template-Literal-Syntax.
( )-
Gruppierungsoperator.
Linksseitige Ausdrücke
Linkswerte sind das Ziel einer Zuweisung.
- Property accessors
-
Mitgliedsoperatoren bieten Zugriff auf eine Eigenschaft oder Methode eines Objekts (
object.propertyundobject["property"]). ?.-
Der optionale Verkettungsoperator gibt
undefinedzurück, anstatt einen Fehler zu verursachen, wenn ein Verweis nullish (nulloderundefined) ist. new-
Der
newOperator erstellt eine Instanz eines Konstruktors. new.target-
In Konstruktoren verweist
new.targetauf den Konstruktor, der durchnewaufgerufen wurde. import.meta-
Ein Objekt, das kontextspezifische Metadaten zu einem JavaScript-Modul bereitstellt.
super-
Das
superSchlüsselwort ruft den Elternkonstruktor auf oder ermöglicht den Zugriff auf Eigenschaften des Elternobjekts. import()-
Die
import()Syntax erlaubt das asynchrone und dynamische Laden eines Moduls in eine möglicherweise nicht-modulare Umgebung.
Inkrement und Dekrement
Postfix-/Präfix-Inkrement und Postfix-/Präfix-Dekrement-Operatoren.
Unäre Operatoren
Eine unäre Operation ist eine Operation mit nur einem Operanden.
delete-
Der
deleteOperator löscht eine Eigenschaft aus einem Objekt. void-
Der
voidOperator wertet einen Ausdruck aus und verwirft dessen Rückgabewert. typeof-
Der
typeofOperator 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/Ablehnung des Versprechens.
Arithmetische Operatoren
Arithmetische Operatoren verwenden numerische Werte (entweder Literale oder Variablen) als ihre Operanden und geben einen einzelnen numerischen Wert zurück.
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-oder-gleich-Operator.
>=-
Größer-oder-gleich-Operator.
instanceof-
Der
instanceofOperator bestimmt, ob ein Objekt eine Instanz eines anderen Objekts ist. in-
Der
inOperator bestimmt, ob ein Objekt eine gegebene Eigenschaft hat.
Hinweis:
=> ist kein Operator, sondern die Notation für Pfeilfunktionen.
Gleichheitsoperatoren
Das Ergebnis der Auswertung eines Gleichheitsoperators ist immer vom Typ boolean, basierend darauf, ob der Vergleich wahr ist.
Bitweisen Verschiebungsoperatoren
Operationen zum Verschieben aller Bits des Operanden.
Binäre bitweise Operatoren
Bitweise Operatoren behandeln ihre Operanden als Satz von 32 Bits (Nullen und Einsen) und geben Standard-JavaScript-Zahlenwerte zurück.
Binäre logische Operatoren
Logische Operatoren implementieren boolesche (logische) Werte und haben Kurzschlussverhalten.
Bedingungsoperator (ternär)
(condition ? ifTrue : ifFalse)-
Der Bedingungsoperator gibt einen von zwei Werten basierend auf dem logischen Wert der Bedingung zurück.
Zuweisungsoperatoren
Ein Zuweisungsoperator weist den Wert seines rechten Operanden an seinen linken Operanden zu.
=-
Zuweisungsoperator.
*=-
Multiplikationszuweisung.
/=-
Divisionszuweisung.
%=-
Restzuweisung.
+=-
Additionszuweisung.
-=-
Subtraktionszuweisung.
<<=-
Linksverschiebungszuweisung.
>>=-
Rechtsverschiebungszuweisung.
>>>=-
Unveränderte Rechtsverschiebungszuweisung.
&=-
Bitweises UND-Zuweisung.
^=-
Bitweises XOR-Zuweisung.
|=-
Bitweises ODER-Zuweisung.
**=-
Exponentialzuweisung.
&&=-
Logisches UND-Zuweisung.
||=-
Logisches ODER-Zuweisung.
??=-
Nullish Coalescing Zuweisung.
[a, b] = arr,{ a, b } = obj-
Mit Destructuring können Sie die Eigenschaften eines Arrays oder Objekts Variablen zuweisen, indem Sie eine Syntax verwenden, die Array- oder Objekt-Literalen ähnelt.
Yield-Operatoren
Spread-Syntax
...obj-
Die Spread-Syntax erlaubt es einem iterierbaren Objekt, wie einem Array oder String, an Stellen erweitert zu werden, 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.
Kommaoperator
,-
Der Kommaoperator erlaubt es, mehrere Ausdrücke in einer einzigen Anweisung auszuwerten und gibt das Ergebnis des letzten Ausdrucks zurück.