JS中表达式和语句的区别

JS中,一段代码由一条或多条语句构成,一条语句中包含一个或多个表达式

为了更好地理解,我们来看下这段代码:

let a, b;
a = 1;
b = a * 2;
console.log( a + b );

在上面这段代码中,一共包含四条语句。

第一条语句:let a, b;

这条语句声明了两个变量。

这条语句中没有“取值”操作,所以不包含表达式。

第二条语句:a = 1;

这个语句的操作过程是先取字面值1,然后把1赋给a,最后返回a的值。

这个语句中有两个表达式:1是一个字面值表达式;a = 1是一个赋值表达式。

第三条语句:b = a * 2;

这个语句的操作过程是先取变量a的值,然后取字面值2,然后进行乘法运算获取a * 2的运算结果值,然后把这个值赋给b,最后返回b的值。

这个语句中有四个表达式:a是一个变量表达式;2是一个字面值表达式;a * 2是一个算数表达式;b = a * 2是一个赋值表达式。

第四条语句:console.log( a + b );

这个语句的操作过程是先取变量a的值,然后取变量b的值,然后进行加法运算获取a + b的运算结果值,最后用console.log()输出这个值。

这个语句中有四个表达式:a是一个变量表达式;b是一个变量表达式;a + b是一个算数表达式;console.log( a + b )是一个函数表达式。

到这里,我们可以发现:表达式主要用于取值(返回某个特定的值)。

像上面的a = 1b = a * 2console.log( a + b )这三条语句都会返回某个特定的值,因此也可以称之为表达式语句。