好玩的JS—逗号表达式

349 阅读1分钟


其实逗号表达式不能算是比较新的

先来看一个小例子:

var a = (true,false);
console.log(a)     // false

这就是一个简单的逗号表达式,由此我们可以看出逗号表达式的形式是:

(表达式1,表达式2,表达式3,.... 表达式n)

那么这个表达式到底表达什么意思呢?

先计算表达式1的值,再计算表达式2的值...最后再计算表达式n的值,并将n的值return返回

需要注意的是,不管有多少表达式,只将最后一个表达式返回


有人就会问了,你只返回最后的一个值,那计算前面的值有什么用?又不会返回

虽然不会返回,但是可以进行一些操作和判断

看下面这个例子:

var a = (a =1,b =2 ,c = a+b)
console.log(a)  //3

使用逗号表达式有什么意义呢?

我觉得就类似于三目运算的意义。既然if else很好用,那为什么还要用三目呢?主要还是为了书写高质量的代码以及保持代码的整洁性,还有个理由:但是吧,还不好意思说—装逼,毕竟写的越让人看不懂越能体现自己的水平(别打脸)。

如果你是个菜鸟你可能这么写:

if(x){
    foo()
    return boo()
}else{
    return coo()
}

如果是个老鸟,他会这么写:

return x ? (foo(),boo()):coo()

是不是瞬间就觉得高大上了!