WebMD
本页大纲

表达式(Expression)

缩写:无

简述

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

使用场景

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

实践与应用

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

注意事项

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

对比与易混

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

关联术语

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