在ECMAScript中,表达式和语句是两个基本的语言构造,它们在代码中扮演不同的角色。
表达式(Expression)是一个代码片段,它可以计算出一个值。表达式可以包含常量、变量、操作符和函数调用等元素。例如,下面是一些常见的表达式:
5 + 3 // 8
"Hello" + " " + "World" // "Hello World"
x * y // 变量 x 与 y 的乘积
Math.max(1, 2, 3) // 3
语句(Statement)则是一组指令,它们会被依次执行,从而改变程序的状态。常见的语句包括控制流语句(if、for、while等)、声明语句(var、let、const等)和表达式语句(AssignmentExpression、FunctionCallExpression等)。例如,下面是一些常见的语句:
var x = 5; // 声明语句
if (x > 3) { // 控制流语句
console.log("x 大于 3");
} else {
console.log("x 不大于 3");
}
for (var i = 0; i < 10; i++) { // 控制流语句
console.log(i);
}
需要注意的是,在ECMAScript中,一些语句也可以返回值,这些语句称为表达式语句。例如,赋值语句返回被赋的值,函数调用语句返回函数的返回值。因此,表达式和语句并不是完全独立的概念,它们之间存在一些交叉的情况。