# 求值（Evaluation）

### 缩写：无

### 简述

根据语言语义计算表达式结果的过程：解析绑定、执行运算、可能触发副作用并得到值或失败。求值策略（严格/惰性、参数顺序、短路）决定「算不算、何时算」。理解求值是调试、性能与正确性推理的基础。

### 使用场景

解释表达式结果、分析短路与惰性、讨论宏卫生与二次求值、性能上避免重复求值。

### 组成与要点

```text
解析绑定 → 执行运算 →（可能副作用）→ 得到值或失败
```
### 实践与应用

• 对昂贵计算做缓存或惰性时，先确认语义是否允许。
• 调试时用中间变量观察求值结果。
• 高阶函数传入的回调注意被求值/调用的次数。

### 注意事项

• 重复求值可能重复副作用。
• 惰性求值下错误可能延迟爆发，堆栈更难读。
• 未定义求值顺序导致依赖顺序的代码不可移植。

### 关联术语

• 表达式：被求值的对象
• 语义：规定如何求值
• 副作用：求值过程中的额外可观察影响
• 惰性求值：推迟计算的策略（部分语言）
