JS中&&与|| 运算符的应用

&& 运算符

let c=a()&&b();

a() && b() :
如果执行a()后返回true,则执行b()并返回b的值;
如果执行a()后返回false,则整个表达式返回a()的值,b()不执行;

只要“&&”前面是false,无论“&&”后面是true还是false,结果都将返“&&”前面的值;
只要“&&”前面是true,无论“&&”后面是true还是false,结果都将返“&&”后面的值;

在js逻辑运算中,0、”“、null、false、undefined、NaN都会判为false,其他都为true

应用场景举例:

 // 传统写法:
 if (this.isLogin) {
   this.pageToView();
 }
 //  使用简写:
 this.isLogin && this.pageToView(); //如果登录了就去执行pageToView方法,否则不执行。

|| 运算符

let c=a()||b();

a() || b();
如果执行a()后返回true,则整个表达式返回a()的值,b()不执行;
如果执行a()后返回false,则执行b()并返回b()的值;

只要“||”前面为false,不管“||”后面是true还是false,都返回“||”后面的值。
只要“||”前面为true,不管“||”后面是true还是false,都返回“||”前面的值。

应用场景举例:

 //传统写法
let title = "xiangzhang"
let name = "";
if (title) {
  name = title;
}

//简便写法:
let title = "xiangzhang"
let name = title || "xiaoming"; // name -> xiangzhang

let title = ""
let name = title || "xiaoming"; // name -> xiaoming

&& 的运算等级高于 ||运算符

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容