上面代码中,块级作用域将两个语句封装在一起。但是,在块级作用域以外,没有办法得到的值,因为块级作用域不返回值,除非t
是全局变量。
现在有一个,使得块级作用域可以变为表达式,也就是说可以返回值,办法就是在块级作用域之前加上do
,使它变为do
表达式,然后就会返回内部最后执行的表达式的值。
do
表达式的逻辑非常简单:封装的是什么,就会返回什么。
do
表达式的好处是可以封装多个语句,让程序更加模块化,就像乐高积木那样一块块拼装起来。
值得一提的是,do
表达式在 JSX 语法中非常好用。
上面代码中,如果不用do
表达式,就只能用三元判断运算符(?:
)。那样的话,一旦判断逻辑复杂,代码就会变得很不易读。