

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Unterstützte Runtime-Funktionen
<a name="supported-features"></a>

In den folgenden Abschnitten werden die unterstützten Funktionen der APPSYNC\$1JS-Laufzeit beschrieben.

## Kern-Features
<a name="core-features"></a>

Die folgenden Kernfunktionen werden unterstützt.

------
#### [ Types ]

Die folgenden Typen werden unterstützt:
+ Ziffern
+ Zeichenfolgen
+ Boolesche Werte
+ objects
+ Arrays
+ Funktionen

------
#### [ Operators ]

Operatoren werden unterstützt, darunter:
+ mathematische Standardoperatoren (`+``-``/`,`%`,`*`,, usw.)
+ Koaleszenzoperator () auf Null setzen `??`
+ Optionale Verkettung () `?.`
+ bitweise Operatoren
+ `void`und Operatoren `typeof`
+ Spread-Operatoren (`...`)

Die folgenden Operatoren werden nicht unterstützt:
+ unäre Operatoren (`++``--`, und`~`)
+ `in`-Operator
**Anmerkung**  
Verwenden Sie den `Object.hasOwn` Operator, um zu überprüfen, ob sich die angegebene Eigenschaft im angegebenen Objekt befindet.

------
#### [ Statements ]

Die folgenden Anweisungen werden unterstützt:
+ `const`
+ `let`
+ `var`
+ `break`
+ `else`
+ `for-in`
+ `for-of` 
+ `if`
+ `return`
+ `switch`
+ Spread-Syntax

Folgendes wird nicht unterstützt:
+ `catch`
+ `continue`
+ `do-while`
+ `finally`
+ `for(initialization; condition; afterthought)`
**Anmerkung**  
Die Ausnahmen sind `for-in` und `for-of` Ausdrücke, die unterstützt werden.
+ `throw`
+ `try`
+ `while`
+ beschriftete Aussagen

------
#### [ Literals ]

Die folgenden ES [6-Vorlagenliterale](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals) werden unterstützt:
+ Mehrzeilige Zeichenketten
+ Interpolation von Ausdrücken
+ Verschachtelte Vorlagen

------
#### [ Functions ]

Die folgende Funktionssyntax wird unterstützt:
+ Funktionsdeklarationen werden unterstützt.
+ ES 6-Pfeilfunktionen werden unterstützt.
+ Die ES 6-Restparameter-Syntax wird unterstützt.

------
#### [ Strict mode ]

Funktionen arbeiten standardmäßig im strikten Modus, sodass Sie Ihrem Funktionscode keine `use_strict`-Anweisung hinzufügen müssen. Dies können nicht geändert werden.

------

## Primitive Objekte
<a name="primitive-objects"></a>

Die folgenden primitiven Objekte von ES und ihre Funktionen werden unterstützt.

------
#### [ Object ]

Die folgenden Objekte werden unterstützt:
+ `Object.assign()`
+ `Object.entries()` 
+ `Object.hasOwn()`
+ `Object.keys()` 
+ `Object.values()`
+ `delete` 

------
#### [ String ]

Die folgenden Zeichenketten werden unterstützt:
+  `String.prototype.length()` 
+  `String.prototype.charAt()` 
+  `String.prototype.concat()` 
+  `String.prototype.endsWith()` 
+  `String.prototype.indexOf()` 
+  `String.prototype.lastIndexOf()` 
+  `String.raw()` 
+  `String.prototype.replace()`
**Anmerkung**  
Reguläre Ausdrücke werden nicht unterstützt.   
Konstrukte regulärer Ausdrücke im Java-Stil werden jedoch im angegebenen Parameter unterstützt. [Weitere Informationen finden Sie unter Muster.](https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
+ `String.prototype.replaceAll()`
**Anmerkung**  
Reguläre Ausdrücke werden nicht unterstützt.  
Konstrukte regulärer Ausdrücke im Java-Stil werden jedoch im angegebenen Parameter unterstützt. [Weitere Informationen finden Sie unter Muster.](https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
+  `String.prototype.slice()` 
+  `String.prototype.split()` 
+  `String.prototype.startsWith()` 
+  `String.prototype.toLowerCase()` 
+  `String.prototype.toUpperCase()` 
+  `String.prototype.trim()` 
+  `String.prototype.trimEnd()` 
+  `String.prototype.trimStart()` 

------
#### [ Number ]

Die folgenden Zahlen werden unterstützt:
+  `Number.isFinite` 
+  `Number.isNaN` 

------

## Integrierte Objekte und Funktionen
<a name="built-in-objects-functions"></a>

Die folgenden Funktionen und Objekte werden unterstützt.

------
#### [ Math ]

Die folgenden mathematischen Funktionen werden unterstützt:
+  `Math.random()` 
+  `Math.min()` 
+  `Math.max()` 
+  `Math.round()` 
+  `Math.floor()` 
+  `Math.ceil()` 

------
#### [ Array ]

Die folgenden Array-Methoden werden unterstützt:
+ `Array.prototype.length` 
+ `Array.prototype.concat()` 
+ `Array.prototype.fill()` 
+ `Array.prototype.flat()` 
+ `Array.prototype.indexOf()` 
+ `Array.prototype.join()` 
+ `Array.prototype.lastIndexOf()` 
+ `Array.prototype.pop()` 
+ `Array.prototype.push()` 
+ `Array.prototype.reverse()` 
+ `Array.prototype.shift()` 
+ `Array.prototype.slice()` 
+ `Array.prototype.sort()`
**Anmerkung**  
`Array.prototype.sort()`unterstützt keine Argumente.
+ `Array.prototype.splice()` 
+ `Array.prototype.unshift()`
+ `Array.prototype.forEach()`
+ `Array.prototype.map()`
+ `Array.prototype.flatMap()`
+ `Array.prototype.filter()`
+ `Array.prototype.reduce()`
+ `Array.prototype.reduceRight()`
+ `Array.prototype.find()`
+ `Array.prototype.some()`
+ `Array.prototype.every()`
+ `Array.prototype.findIndex()`
+ `Array.prototype.findLast()`
+ `Array.prototype.findLastIndex()`
+ `delete` 

------
#### [ Console ]

Das Konsolenobjekt ist für das Debuggen verfügbar. Während der Live-Abfrageausführung werden log/error Konsolenanweisungen an Amazon CloudWatch Logs gesendet (sofern die Protokollierung aktiviert ist). Während der Codeauswertung mit `evaluateCode` werden Protokollanweisungen in der Befehlsantwort zurückgegeben.
+ `console.error()`
+ `console.log()`

------
#### [ Function ]
+ Die `call` Methoden `apply``bind`, und werden nicht unterstützt.
+ Funktionskonstruktoren werden nicht unterstützt.
+ Die Übergabe einer Funktion als Argument wird nicht unterstützt.
+ Rekursive Funktionsaufrufen werden nicht unterstützt.

------
#### [ JSON ]

Die folgenden JSON-Methoden werden unterstützt:
+ `JSON.parse()`
**Anmerkung**  
Gibt eine leere Zeichenfolge zurück, wenn die analysierte Zeichenfolge kein gültiges JSON ist.
+ `JSON.stringify()`

------
#### [ Promises ]

Asynchrone Prozesse werden nicht unterstützt, und Promises werden nicht unterstützt.

**Anmerkung**  
Der Netzwerk- und Dateisystemzugriff wird in der `APPSYNC_JS` Runtime in AWS AppSync nicht unterstützt. AWS AppSync verarbeitet alle I/O-Operationen, die auf den vom AWS AppSync Resolver oder der AWS AppSync Funktion gestellten Anforderungen basieren.

------

## Globale
<a name="globals"></a>

Die folgenden globalen Konstanten werden unterstützt:
+  `NaN` 
+  `Infinity` 
+  `undefined`
+ [https://docs.aws.amazon.com/appsync/latest/devguide/built-in-util-js.html](https://docs.aws.amazon.com/appsync/latest/devguide/built-in-util-js.html)
+ [https://docs.aws.amazon.com/appsync/latest/devguide/extensions-js.html](https://docs.aws.amazon.com/appsync/latest/devguide/extensions-js.html)
+ `runtime`

## Arten von Fehlern
<a name="error-types"></a>

Das Auslösen von Fehlern mit `throw` wird nicht unterstützt. Sie können einen Fehler zurückgeben, indem Sie die `util.error()` Funktion verwenden. Sie können einen Fehler in Ihre GraphQL-Antwort aufnehmen, indem Sie die `util.appendError` Funktion verwenden.

Weitere Informationen finden Sie unter [Error utils](https://docs.aws.amazon.com/appsync/latest/devguide/built-in-util-js.html#utility-helpers-in-error-js).