Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Fonctionnalités d'exécution prises en charge
Les sections ci-dessous décrivent l'ensemble des fonctionnalités prises en charge par le runtime APPSYNC_JS.
Fonctions de base
Les fonctionnalités principales suivantes sont prises en charge.
- Types
-
Les types suivants sont pris en charge :
-
nombres
-
chaînes
-
booléens
-
objects
-
tableaux
-
functions
-
- Operators
-
Les opérateurs sont pris en charge, notamment :
-
opérateurs mathématiques standard (
+-,/,%*,, etc.) -
opérateur de fusion nul ()
?? -
Chaînage optionnel ()
?. -
opérateurs au niveau du bit
-
voidettypeofopérateurs -
opérateurs de diffusion (
...)
Les opérateurs suivants ne sont pas pris en charge :
-
opérateurs unaires (
++--, et~) -
Opérateur
inNote
Utilisez l'
Object.hasOwnopérateur pour vérifier si la propriété spécifiée se trouve dans l'objet spécifié.
-
- Statements
-
Les déclarations suivantes sont prises en charge :
-
const -
let -
var -
break -
else -
for-in -
for-of -
if -
return -
switch -
syntaxe d'étalement
Les éléments suivants ne sont pas pris en charge :
-
catch -
continue -
do-while -
finally -
for(initialization; condition; afterthought)Note
Les exceptions sont les
for-ofexpressionsfor-inet, qui sont prises en charge. -
throw -
try -
while -
déclarations étiquetées
-
- Literals
-
Les littéraux de modèle ES 6 suivants
sont pris en charge : -
Multi-line cordes
-
Interpolation d'expressions
-
Modèles d'imbrication
-
- Functions
-
La syntaxe des fonctions suivante est prise en charge :
-
Les déclarations de fonctions sont prises en charge.
-
Les fonctions de flèche ES 6 sont prises en charge.
-
La syntaxe des paramètres de repos ES 6 est prise en charge.
-
- Strict mode
-
Les fonctions opèrent en mode strict par défaut. Vous n’avez donc pas besoin d’ajouter une instruction
use_strictdans votre code de fonction. Elles ne peuvent pas être modifiées.
Objets primitifs
Les objets primitifs suivants de ES et leurs fonctions sont pris en charge.
- Object
-
Les objets suivants sont pris en charge :
-
Object.assign() -
Object.entries() -
Object.hasOwn() -
Object.keys() -
Object.values() -
delete
-
- String
-
Les chaînes suivantes sont prises en charge :
-
String.prototype.length() -
String.prototype.charAt() -
String.prototype.concat() -
String.prototype.endsWith() -
String.prototype.indexOf() -
String.prototype.lastIndexOf() -
String.raw() -
String.prototype.replace()Note
Les expressions régulières ne sont pas prises en charge.
Cependant, les constructions d'expressions Java-styled régulières sont prises en charge dans le paramètre fourni. Pour plus d'informations, voir Pattern
. -
String.prototype.replaceAll()Note
Les expressions régulières ne sont pas prises en charge.
Cependant, les constructions d'expressions Java-styled régulières sont prises en charge dans le paramètre fourni. Pour plus d'informations, voir Pattern
. -
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
-
Les numéros suivants sont pris en charge :
-
Number.isFinite -
Number.isNaN
-
Built-in objets et fonctions
Les fonctions et objets suivants sont pris en charge.
- Math
-
Les fonctions mathématiques suivantes sont prises en charge :
-
Math.random() -
Math.min() -
Math.max() -
Math.round() -
Math.floor() -
Math.ceil()
-
- Array
-
Les méthodes matricielles suivantes sont prises en charge :
-
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()Note
Array.prototype.sort()ne soutient pas les arguments. -
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
-
L'objet console est disponible pour le débogage. Pendant l'exécution des requêtes en direct, les log/error instructions de console sont envoyées à Amazon CloudWatch Logs (si la journalisation est activée). Lors de l'évaluation du code avec
evaluateCode, les instructions de journal sont renvoyées dans la réponse de commande.-
console.error() -
console.log()
-
- Function
-
-
Les
callméthodesapplybind, et ne sont pas prises en charge. -
Les constructeurs de fonctions ne sont pas pris en charge.
-
La transmission d'une fonction en argument n'est pas prise en charge.
-
Les appels de fonctions récursifs ne sont pas pris en charge.
-
- JSON
-
Les méthodes JSON suivantes sont prises en charge :
-
JSON.parse()Note
Renvoie une chaîne vide si la chaîne analysée n'est pas un JSON valide.
-
JSON.stringify()
-
- Promises
-
Les processus asynchrones ne sont pas pris en charge et les promesses ne le sont pas.
Note
L'accès au réseau et au système de fichiers n'est pas pris en charge pendant l'
APPSYNC_JSexécution de AWS AppSync. AWS AppSync gère toutes les I/O opérations en fonction des requêtes effectuées par le AWS AppSync résolveur ou la AWS AppSync fonction.
Globals
Les constantes globales suivantes sont prises en charge :
-
NaN -
Infinity -
undefined
Types d’erreurs
L'envoi d'erreurs avec n'throwest pas pris en charge. Vous pouvez renvoyer une erreur en utilisant util.error() la fonction. Vous pouvez inclure une erreur dans votre réponse GraphQL à l'aide de cette util.appendError fonction.
Pour plus d'informations, consultez Error Utils.