js中 && 跟 || 的一些奇怪用法

在这里插入图片描述
在这里插入图片描述

如上图,这两天研究别人的代码看到的这个。我主做后端,前端水平一般,红框部分困扰了我半天,没见过这种写法。

后来查了查才清楚,原来 && 和 || 还有这种用法。

概念

  • 在js逻辑运算中,0、""、null、false、undefined、NaN都会判为false,其他都为true。
  • a&&b:当a、b同时为true时返回true,否则返回false;若a为false则不对b进行判断直接返回false,若a为true则由b的判断结果决定返回值。
  • a||b:当a、b中至少一个为true时返回true,否则返回false;若a为true则不对b进行判断直接返回true,若a为false则由b的判断结果决定返回值。
  • && 的优先级高于 || 。

用法

  • 这个运算经常用来判断一个变量是否已定义,如果没有定义就给他一个初始值。
  • 也可用来代替if else语句,是代码看起来更简洁。
  • 另外 !! 的作用是把一个其他类型的变量转成的bool类型。

这种写法看起来虽然高大上,但是我觉得并不利于阅读,所以我是不会这么写的。
还有不得不吐槽这位大哥的是:比较的时候为何要将“null" "-1"写在前面呢?null还好理解,等号右边太长了,放左边好找比较对象。但是-1!=o 这个我是真的理解不了,且不说这种写法奇怪,常量放前面,符号跟数字之间被分开了怎么办?就像图中的代码一样,我不说是 -1 您会注意到那是个 -1吗?这种习惯真挺不好的,陋习

参考:关于js代码中与或运算符||&&的妙用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值