JavaScript中:表达式和语句的区别[译]


在JavaScript中,表达式(Expression)和语句(Statement)是编程基础中的两个重要概念,它们之间有着明显的区别。

### 表达式(Expression)

- **定义**:表达式是产生值的JavaScript代码片段。它可以是一个常量、变量、函数调用、算术运算、对象创建等。

- **特点**:

- 表达式可以单独存在,也可以作为更大表达式的一部分。

- 表达式会产生一个值,这个值可以是任何数据类型,包括对象、数组、函数等。

- 表达式可以出现在任何需要值的地方,比如作为函数的参数、赋值语句的右侧等。

### 语句(Statement)

- **定义**:语句是执行某种操作的JavaScript代码片段。它可以包含表达式,但本身不产生值(除了那些特定类型的语句,如赋值语句,其值可以被忽略)。

- **特点**:

- 语句是构建程序的基本块,它们用于控制程序的流程,如条件判断、循环、声明变量等。

- 语句通常以分号(`;`)结束,但在某些情况下(如大括号`{}`包围的代码块)可以省略。

- 语句通常不直接产生可供后续操作使用的值,尽管它们可以包含执行计算或赋值等操作的表达式。

### 示例

**表达式示例**:


let a = 5; // 这是一个语句,但它包含了一个表达式 5
let b = a + 3; // 这也是一个语句,它包含了一个表达式 a + 3
console.log(a + b); // 这里的 console.log 调用了一个函数,其参数是一个表达式 a + b

**语句示例**:


if (a > 5) { // 这是一个条件语句
  console.log("a is greater than 5"); // 这是一个语句,它包含了一个函数调用表达式
}

for (let i = 0; i < 10; i++) { // 这是一个循环语句
  console.log(i); // 这也是一个语句,它包含了一个函数调用表达式
}

在JavaScript中,理解和区分表达式和语句对于编写清晰、高效的代码至关重要。