Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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 this Schlü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 function Schlüsselwort definiert einen Funktionsausdruck.

class

Das class Schlüsselwort definiert einen Klassen-Ausdruck.

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 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.property und object["property"]).

?.

Der optionale Verkettungsoperator gibt undefined zurück, anstatt einen Fehler zu verursachen, wenn ein Verweis nullish (null oder undefined) ist.

new

Der new Operator erstellt eine Instanz eines Konstruktors.

new.target

In Konstruktoren verweist new.target auf den Konstruktor, der durch new aufgerufen wurde.

import.meta

Ein Objekt, das kontextspezifische Metadaten zu 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 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.

A++

Postfix-Inkrementoperator.

A--

Postfix-Dekrementoperator.

++A

Präfix-Inkrementoperator.

--A

Präfix-Dekrementoperator.

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 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.

**

Exponentialoperator.

*

Multiplikationsoperator.

/

Divisionsoperator.

%

Restoperator.

+ (Plus)

Additionsoperator.

-

Subtraktionsoperator.

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 instanceof Operator bestimmt, ob ein Objekt eine Instanz eines anderen Objekts ist.

in

Der in Operator 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.

==

Gleichheitsoperator.

!=

Ungleichheitsoperator.

===

Strikter Gleichheitsoperator.

!==

Strikter Ungleichheitsoperator.

Bitweisen Verschiebungsoperatoren

Operationen zum Verschieben aller Bits des Operanden.

<<

Bitweiser Linksverschiebungsoperator.

>>

Bitweiser Rechtsverschiebungsoperator.

>>>

Bitweiser unveränderter Rechtsverschiebungsoperator.

Binäre bitweise Operatoren

Bitweise Operatoren behandeln ihre Operanden als Satz von 32 Bits (Nullen und Einsen) und geben Standard-JavaScript-Zahlenwerte zurück.

&

Bitweises UND.

|

Bitweises ODER.

^

Bitweises XOR.

Binäre logische Operatoren

Logische Operatoren implementieren boolesche (logische) Werte und haben Kurzschlussverhalten.

&&

Logisches UND.

||

Logisches ODER.

??

Nullish Coalescing Operator.

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

yield

Pausiert und setzt eine Generatorfunktion fort.

yield*

Delegieren an eine andere Generatorfunktion oder ein iterierbares Objekt.

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.

Spezifikationen

Spezifikation
ECMAScript® 2027 Language Specification
# sec-this-keyword
ECMAScript® 2027 Language Specification
# sec-async-function-definitions
ECMAScript® 2027 Language Specification
# sec-assignment-operators
ECMAScript® 2027 Language Specification
# sec-bitwise-not-operator
ECMAScript® 2027 Language Specification
# sec-equality-operators
ECMAScript® 2027 Language Specification
# sec-unsigned-right-shift-operator
ECMAScript® 2027 Language Specification
# sec-signed-right-shift-operator
ECMAScript® 2027 Language Specification
# sec-property-accessors
ECMAScript® 2027 Language Specification
# prod-PropertyDefinition
ECMAScript® 2027 Language Specification
# prod-LogicalANDExpression
ECMAScript® 2027 Language Specification
# sec-unary-plus-operator
ECMAScript® 2027 Language Specification
# prod-FormalParameters
ECMAScript® 2027 Language Specification
# sec-relational-operators
ECMAScript® 2027 Language Specification
# sec-comma-operator
ECMAScript® 2027 Language Specification
# prod-MethodDefinition
ECMAScript® 2027 Language Specification
# sec-new-operator
ECMAScript® 2027 Language Specification
# prod-ComputedPropertyName
ECMAScript® 2027 Language Specification
# sec-postfix-increment-operator
ECMAScript® 2027 Language Specification
# sec-conditional-operator
ECMAScript® 2027 Language Specification
# sec-generator-function-definitions-runtime-semantics-evaluation
ECMAScript® 2027 Language Specification
# sec-function-definitions
ECMAScript® 2027 Language Specification
# sec-postfix-decrement-operator
ECMAScript® 2027 Language Specification
# prod-AssignmentRestProperty
ECMAScript® 2027 Language Specification
# prod-BitwiseORExpression
ECMAScript® 2027 Language Specification
# sec-super-keyword
ECMAScript® 2027 Language Specification
# sec-multiplicative-operators
ECMAScript® 2027 Language Specification
# prod-AssignmentRestElement
ECMAScript® 2027 Language Specification
# sec-addition-operator-plus
ECMAScript® 2027 Language Specification
# prod-SpreadElement
ECMAScript® 2027 Language Specification
# prod-ArgumentList
ECMAScript® 2027 Language Specification
# sec-import-calls
ECMAScript® 2027 Language Specification
# sec-left-shift-operator
ECMAScript® 2027 Language Specification
# prod-BitwiseANDExpression
ECMAScript® 2027 Language Specification
# sec-async-generator-function-definitions
ECMAScript® 2027 Language Specification
# prod-YieldExpression
ECMAScript® 2027 Language Specification
# prod-CoalesceExpression
ECMAScript® 2027 Language Specification
# prod-OptionalExpression
ECMAScript® 2027 Language Specification
# prod-LogicalORExpression
ECMAScript® 2027 Language Specification
# sec-delete-operator
ECMAScript® 2027 Language Specification
# sec-built-in-function-objects
ECMAScript® 2027 Language Specification
# prod-BitwiseXORExpression
ECMAScript® 2027 Language Specification
# sec-generator-function-definitions
ECMAScript® 2027 Language Specification
# sec-destructuring-assignment
ECMAScript® 2027 Language Specification
# sec-destructuring-binding-patterns
ECMAScript® 2027 Language Specification
# sec-unary-minus-operator
ECMAScript® 2027 Language Specification
# sec-null-value
ECMAScript® 2027 Language Specification
# sec-object-initializer
ECMAScript® 2027 Language Specification
# sec-grouping-operator
ECMAScript® 2027 Language Specification
# sec-typeof-operator
ECMAScript® 2027 Language Specification
# sec-subtraction-operator-minus
ECMAScript® 2027 Language Specification
# sec-exp-operator
ECMAScript® 2027 Language Specification
# sec-class-definitions
ECMAScript® 2027 Language Specification
# sec-void-operator
ECMAScript® 2027 Language Specification
# sec-logical-not-operator
ECMAScript® 2027 Language Specification
# prod-ImportMeta
HTML
# import-meta-resolve
HTML
# integration-with-the-javascript-module-system

Browser-Kompatibilität

Siehe auch