

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Expressions
<a name="ecma-expression"></a>

Puede agregar cadenas de expresiones para realizar funciones en Amazon Lex V2. En esta tabla se muestran la sintaxis y los ejemplos que se pueden utilizar en las expresiones de SRGS.


| Tipo de expresión | Sintaxis | Ejemplo | ¿Compatible? | 
| --- | --- | --- | --- | 
| Expresión regular: literal | Cadena literal que contiene [caracteres especiales de expresiones regulares](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) válidos | <pre>"^\d\.$"</pre> | No | 
| Función | function functionName(parameters) { functionBody} | <pre>var x = function calc() {<br />    return 10;<br />}</pre> | No | 
| Eliminar | delete expression | <pre>delete obj.property;</pre> | No | 
| Vacío | void expression | <pre>void (2 == '2');</pre> | No | 
| Tipo de | typeof expression | <pre>typeof 42;</pre> | No | 
| Índice de miembros | expression [ expressions ] | <pre>var fruits = ["apple"];<br />fruits[0];</pre> | Sí | 
| Punto de miembro | expression . identifier | <pre>out.value</pre> | yes | 
| Argumentos | expression (arguments) | <pre>new Date('1994-10-11')</pre> | Sí | 
| Después el incremento | expression\+\+ | <pre>var x=10; x++;</pre> | Sí | 
| Después de la disminución | expression-- | <pre>var x=10; x--;</pre> | Sí | 
| Antes del incremento | \+\+expression | <pre>var x=10; ++x;</pre> | Sí | 
| Antes de la disminución | --expression | <pre>var x=10; --x;</pre> | Sí | 
| Más unario / menos unario | \+expression / -expression | <pre>+x / -x;</pre> | Sí | 
| Bit no | \~ expression | <pre>const a = 5;<br />console.log( ~a );</pre> | Sí | 
| Lógico no | \! expression | <pre>!(a > 0 || b > 0)</pre> | Sí | 
| Multiplicativo | expression ('\*' \| '/' \| '%') expression | <pre>(x + y) * (a / b)</pre> | Sí | 
| Aditivo | expression ('\+' \| '-') expression | <pre>(a + b) - (a - (a + b))</pre> | Sí | 
| Cambio de bits | expression ('<<' \| '>>' \| '>>>') expression | <pre>(a >> b) >>> c</pre> | Sí | 
| Relativo | expression ('<' \| '>' \| '<=' \| '>=') expression | <pre>if (a > b) { ... }</pre> | Sí | 
| In | expression in expression | <pre>fruits[0] in otherFruits;</pre> | Sí | 
| Igualdad | expression ('==' \| '\!=' \| '===' \| '\!===') expression | <pre>if (a == b) { ... }</pre> | Sí | 
| Bit y / xor / o | expression ('&' \| '^' \| '\|') expression | <pre>a & b / a ^ b / a | b</pre> | Sí | 
| Lógico y/o | expression ('&&' \| '\|\|') expression | <pre>if (a && (b ||c)) { ...}</pre> | Sí | 
| Ternario  | expression ? expression : expression | <pre>a > b ? obj.prop : 0</pre> | Sí | 
| Asignación | expression = expression | <pre>out.value = "string";</pre> | Sí | 
| Operador de asignación | expression ('\*=' \| '/=' \| '\+=' \| '-=' \| '%=') expression  | <pre>a *= 10;</pre> | Sí | 
| Operador de asignación bit a bit | expression ('<<=' \| '>>=' \| '>>>=' \| '&=' \| '^=' \| '\|=') expression | <pre>a <<= 10;</pre> | Sí | 
| Identificador | identifierSequence donde identifierSequence es una secuencia de [caracteres válidos](https://developer.mozilla.org/en-US/docs/Glossary/Identifier) | <pre>fruits=[10, 20, 30];</pre> | Sí | 
| Literal nulo | null | <pre>x = null;</pre> | Sí | 
| Literal booleano | true \| false | <pre>x = true;</pre> | Sí | 
| Una cadena literal. | 'string' / "string" | <pre>a = 'hello',<br />b = "world";</pre> | Sí | 
| Literal decimal | integer [.] digits [exponent] | <pre>111.11 e+12</pre> | Sí | 
| Literal hexadecimal | 0 (x \| X)[0-9a-fA-F] | <pre>0x123ABC</pre> | Sí | 
| Literal octal | O [0-7] | <pre>"O51"</pre> | Sí | 
| Matriz literal | [ expression, ... ] | <pre>v = [a, b, c];</pre> | Sí | 
| Objeto literal | {property: value, ...} | <pre>out = {value: 1, flag: false};</pre> | Sí | 
| Entre paréntesis | ( expressions ) | <pre>x + (x + y)</pre> | Sí | 