Skip to content

表达式

一句话解释

表达式是一段能“求值”出结果的代码,比如 `1 + 2` 求值为 `3`、`fn()` 求值为函数返回值。

用大白话说

表达式(expression)是会“算出一个值”的代码片段。最简单的表达式是字面量和变量:5"hi"x 都是表达式,它们求值就是它们本身或它们存的值。

更复杂的表达式由运算符连接:

  • 1 + 2 求值为 3
  • a > b 求值为 truefalse
  • fn() 求值为函数的返回值
  • a && barr[0]obj.name 都是表达式

表达式的特点是能放在任何需要一个值的位置let x = 1 + 2; 右边的 1 + 2 是表达式;if (a > b)a > b 是表达式。

和“语句”对比:语句是“做一件事”的完整指令(ifforlet x = 1;),不一定有值;表达式是“算出一个值”。语句里可以包含表达式,表达式里不能包含语句(除了少数情况)。

示例

javascript
let x = 1 + 2;       // 1 + 2 是表达式,求值为 3
let y = x * 2;       // x * 2 是表达式
let z = Math.max(x, y); // Math.max(...) 也是表达式
console.log(x > 0);  // x > 0 是表达式,求值为 true

每行等号右边都是表达式,会求出一个值赋给变量。1 + 2x * 2Math.max(...)x > 0 都是表达式。

工作原理

  1. 表达式由字面量、变量、运算符、函数调用等组成
  2. JS 引擎按运算符优先级和结合律逐步求值
  3. 求值结果是一个值(数字、字符串、布尔、对象等)
  4. 这个值可以赋给变量、作为参数传递、用于条件判断

常见混淆

  • 容易混淆的对象: 语句

    关键区别: 表达式“算出一个值”(1 + 2fn()),语句“执行一个动作”(ifforlet x = 1;)。表达式有值,语句不一定有。

相关术语

相关资源

相关课程

学习基础知识

通过结构化课程深入理解这个主题。

查看课程

解读错误信息

用大白话解释常见错误——什么意思、为什么发生、如何修复。

查看错误

← 返回术语表