

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

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

您可以在 Amazon Lex V2 中添加表达式字符串来执行函数。此表显示了可在 SRGS 表达式中使用的语法和示例。


| 表达式类型 | 语法 | 示例 | 是否支持？ | 
| --- | --- | --- | --- | 
| 正则表达式文本 | 包含有效[正则表达式特殊字符](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions)的字符串文本 | <pre>"^\d\.$"</pre> | 否 | 
| 函数 | function functionName(parameters) \$1 functionBody\$1 | <pre>var x = function calc() {<br />    return 10;<br />}</pre> | 否 | 
| 删除 | delete expression | <pre>delete obj.property;</pre> | 否 | 
| Void | void expression | <pre>void (2 == '2');</pre> | 否 | 
| Typeof | typeof expression | <pre>typeof 42;</pre> | 否 | 
| 成员索引 | expression [ expressions ] | <pre>var fruits = ["apple"];<br />fruits[0];</pre> | 是 | 
| 成员点 | expression . identifier | <pre>out.value</pre> | 是 | 
| 参数 | expression (arguments) | <pre>new Date('1994-10-11')</pre> | 是 | 
| 后增量 | expression\$1\$1 | <pre>var x=10; x++;</pre> | 是 | 
| 后减量 | expression-- | <pre>var x=10; x--;</pre> | 是 | 
| 预增量 | \$1\$1expression | <pre>var x=10; ++x;</pre> | 是 | 
| 预减量 | --expression | <pre>var x=10; --x;</pre> | 是 | 
| 一元加号/一元减号 | \$1expression / -expression | <pre>+x / -x;</pre> | 是 | 
| 按位非 | \$1 expression | <pre>const a = 5;<br />console.log( ~a );</pre> | 是 | 
| 逻辑非 | \$1 expression | <pre>!(a > 0 || b > 0)</pre> | 是 | 
| 倍增 | expression ('\$1' \$1 '/' \$1 '%') expression | <pre>(x + y) * (a / b)</pre> | 是 | 
| 加 | expression ('\$1' \$1 '-') expression | <pre>(a + b) - (a - (a + b))</pre> | 是 | 
| 位移位 | expression ('<<' \$1 '>>' \$1 '>>>') expression | <pre>(a >> b) >>> c</pre> | 是 | 
| 相对 | expression ('<' \$1 '>' \$1 '<=' \$1 '>=') expression | <pre>if (a > b) { ... }</pre> | 是 | 
| In | expression in expression | <pre>fruits[0] in otherFruits;</pre> | 是 | 
| 等于 | expression ('==' \$1 '\$1=' \$1 '===' \$1 '\$1===') expression | <pre>if (a == b) { ... }</pre> | 是 | 
| 按位与/按位异或/按位或 | expression ('&' \$1 '^' \$1 '\$1') expression | <pre>a & b / a ^ b / a | b</pre> | 是 | 
| 逻辑和/逻辑或 | expression ('&&' \$1 '\$1\$1') expression | <pre>if (a && (b ||c)) { ...}</pre> | 是 | 
| 三元  | expression ? expression : expression | <pre>a > b ? obj.prop : 0</pre> | 是 | 
| 赋值 | expression = expression | <pre>out.value = "string";</pre> | 是 | 
| 赋值运算符 | expression ('\$1=' \$1 '/=' \$1 '\$1=' \$1 '-=' \$1 '%=') expression  | <pre>a *= 10;</pre> | 是 | 
| 赋值按位运算符 | expression ('<<=' \$1 '>>=' \$1 '>>>=' \$1 '&=' \$1 '^=' \$1 '\$1=') expression | <pre>a <<= 10;</pre> | 是 | 
| 标识符 | identifierSequence 其中 identifierSequence 是一系列[有效字符](https://developer.mozilla.org/en-US/docs/Glossary/Identifier) | <pre>fruits=[10, 20, 30];</pre> | 是 | 
| Null 文本 | null | <pre>x = null;</pre> | 是 | 
| 布尔文本 | true \$1 false | <pre>x = true;</pre> | 是 | 
| 字符串文本 | 'string' / "string" | <pre>a = 'hello',<br />b = "world";</pre> | 是 | 
| 十进制文本 | integer [.] digits [exponent] | <pre>111.11 e+12</pre> | 是 | 
| 十六进制文本 | 0 (x \$1 X)[0-9a-fA-F] | <pre>0x123ABC</pre> | 是 | 
| 八进制文本 | O [0-7] | <pre>"O51"</pre> | 是 | 
| 数组文本 | [ expression, ... ] | <pre>v = [a, b, c];</pre> | 是 | 
| 对象文本 | \$1property: value, ...\$1 | <pre>out = {value: 1, flag: false};</pre> | 是 | 
| 带圆括号 | ( expressions ) | <pre>x + (x + y)</pre> | 是 | 