# 表达式（Expression）

### 缩写：无

### 简述

在语言语义下可求值并产生一个值（及可能的副作用）的语法构造。字面量、变量引用、运算、函数调用、条件表达式等常属此类。与「语句」相对：表达式强调值，语句强调动作或声明结构；二者边界因语言而异（有的语言几乎一切皆表达式）。

### 使用场景

书写运算与调用、理解求值顺序、纯表达式语言与语句式语言对比。

### 实践与应用

• 明确求值顺序与短路运算对副作用的影响。
• 复杂表达式拆局部变量以利读与调试。
• 纯函数式风格中尽量减少表达式内隐含副作用。

### 注意事项

• 副作用藏在表达式里会使推理与测试变难。
• 运算符优先级导致「以为的顺序」与实际不符。
• 未定义的求值顺序（部分语言参数求值）带来隐患。

### 对比与易混

| | 表达式 | 语句 |
|--|--------|------|
| 结果 | 通常得到一个值 | 推进控制或声明 |
| 例子 | `a + b`、函数调用 | `if`、赋值语句、返回 |

### 关联术语

• 语句：组织动作与控制流，未必产生可用值
• 求值：计算表达式得到结果
• 运算符：表达式内的运算记号
• 副作用：表达式求值时可能附带的状态变化
