0
点赞
收藏
分享

微信扫一扫

js中独立的与运算(&&)表达式


题目可能描述不够规范,就是这么个意思吧。话说我阅读同事的代码,发现有这种表达式:

A && B;

我就觉得十分惊异,不懂是什么意思。按照习惯用法,”&&“应该用在逻辑表达式里,比如

if( a && b ) {
。。。
}

查了资料,原来意思是这样的:

A && B;

如果A为true,则运行B,否则转向下一行。所以这里”B“不是一个变量,而是一个完整的表达式,比如赋值语句,或者其他执行语句,比如console.log()。它其实相当于

if(A){
B;
}

所以我同事的写法比较简洁。有时可以用于精简switch语句等:

var n = 3;
switch(n){
case1:
console.log(1);
break;
case2:
console.log(2);
break;
case3:
console.log(3);
break;
default:
console.log("null");

===>

var n = 3;
(n == 1) && console.log(1);
(n == 2) && console.log(2);
(n == 3) && console.log(3);
( ! n ) && console.log("null");

但好像没有多大必要。精简和可读性有时需要权衡。

参考文章:
​​​JS &&(与运算)详解​​


举报

相关推荐

0 条评论