Características de la versión ejecutable compatibles
En las siguientes secciones se describe el conjunto de características compatibles de la versión ejecutable APPSYNC_JS.
Características principales
Se admiten las siguientes características principales.
- Types
-
Se admiten los siguientes tipos:
-
números
-
cadenas
-
booleanos
-
objetos
-
matrices
-
funciones
-
- Operators
-
Se admiten operadores, entre los que se incluyen:
-
operadores matemáticos estándar (
+
,-
,/
,%
,*
, etc.) -
operador de fusión de NULL (
??
) -
Encadenamiento opcional (
?.
) -
operadores Bitwise
-
operadores
void
ytypeof
-
operadores de distribución (
...
)
No se admiten los siguientes operadores:
-
operadores unarios (
++
,--
, y~
) -
operador
in
nota
Utilice el operador
Object.hasOwn
para comprobar si la propiedad especificada está en el objeto especificado.
-
- Statements
-
Se admiten las siguientes instrucciones:
-
const
-
let
-
var
-
break
-
else
-
for-in
-
for-of
-
if
-
return
-
switch
-
sintaxis de distribución
No se admiten las siguientes:
-
catch
-
continue
-
do-while
-
finally
-
for(initialization; condition; afterthought)
nota
Las excepciones son las expresiones
for-in
yfor-of
, que son compatibles. -
throw
-
try
-
while
-
instrucciones etiquetadas
-
- Literals
-
Se admiten los siguientes literales de plantilla
de ES 6: -
Cadenas de varias líneas
-
Interpolación de expresiones
-
Plantillas de anidamiento
-
- Functions
-
Se admite la sintaxis de la función siguiente:
-
Se admiten las declaraciones de funciones.
-
Se admiten las funciones de flecha de ES 6.
-
Se admite la sintaxis del parámetro rest de ES 6.
-
- Strict mode
-
Las funciones operan en modo estricto de forma predeterminada, por lo que no necesita agregar una instrucción
use_strict
en su código de función. Esto no se puede cambiar.
Objetos primitivos
Se admiten los siguientes objetos primitivos de ES y sus funciones.
- Object
-
Los siguientes objetos son compatibles:
-
Object.assign()
-
Object.entries()
-
Object.hasOwn()
-
Object.keys()
-
Object.values()
-
delete
-
- String
-
Se admiten las siguientes cadenas:
-
String.prototype.length()
-
String.prototype.charAt()
-
String.prototype.concat()
-
String.prototype.endsWith()
-
String.prototype.indexOf()
-
String.prototype.lastIndexOf()
-
String.raw()
-
String.prototype.replace()
nota
No se admiten expresiones regulares.
Sin embargo, en el parámetro proporcionado se admiten constructos de expresiones regulares con estilo Java. Para obtener más información, consulte Patrón
. -
String.prototype.replaceAll()
nota
No se admiten expresiones regulares.
Sin embargo, en el parámetro proporcionado se admiten constructos de expresiones regulares con estilo Java. Para obtener más información, consulte Patrón
. -
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
-
Se admiten los siguientes números:
-
Number.isFinite
-
Number.isNaN
-
Objetos y funciones integrados
Se admiten las siguientes funciones y objetos.
- Math
-
Las siguientes funciones matemáticas son compatibles:
-
Math.random()
-
Math.min()
-
Math.max()
-
Math.round()
-
Math.floor()
-
Math.ceil()
-
- Array
-
Se admiten los siguientes métodos de matriz:
-
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()
nota
Array.prototype.sort()
no admite argumentos. -
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
-
El objeto de la consola está disponible para su depuración. Durante la ejecución de la consulta en tiempo real, las instrucciones de registro o error de la consola se envían a Registros de Amazon CloudWatch (si el registro está habilitado). Durante la evaluación de código con
evaluateCode
, las instrucciones de registro se devuelven en la respuesta del comando.-
console.error()
-
console.log()
-
- Function
-
-
No se admiten los métodos
apply
,bind
ycall
. -
Los constructores de funciones no son compatibles.
-
No se admite la transferencia de una función como argumento.
-
No se admiten llamadas a funciones recursivas.
-
- JSON
-
Se admiten los siguientes métodos JSON:
-
JSON.parse()
nota
Devuelve una cadena en blanco si la cadena analizada no es un JSON válido.
-
JSON.stringify()
-
- Promises
-
No se admiten promesas ni procesos asíncronos.
nota
No se admite el acceso a la red y al sistema de archivos en la versión ejecutable
APPSYNC_JS
en AWS AppSync. AWS AppSync gestiona todas las operaciones de E/S en función de las solicitudes realizadas por el solucionador de AWS AppSync o la función de AWS AppSync.
Globals
Se admiten las siguientes constantes globales:
-
NaN
-
Infinity
-
undefined
Tipos de error
No se admite la generación de errores con throw
. Puede devolver un error mediante la función util.error()
. Puede incluir un error en su respuesta de GraphQL mediante la función util.appendError
.
Para obtener más información, consulte la sección sobre utilidades de error.