神奇的&&与||运算符

学习RN的过程中发现了一段很有意思的代码:

  <Text style={{padding: 10, fontSize: 42}}>
    {text.split(' ').map((word) => word && '🍕').join(' ')}
  </Text>

大意是将text中的元素全部转为🍕,但是其中的&&转换方式还是第一次见,于是自己尝试着试验一下,发现还是之前接触到的一个零碎知识点,在红宝书也有过说明,简单来引入一下,猜猜输出结果是什么:

console.log(3&&4)
console.log(0&&4)
console.log(3||4)
console.log(0||4)
console.log(4&&0)
console.log(4||0)

谷歌控制台输出如下:
在这里插入图片描述
简单的总结一下规律:
&&与||运算符相信大家都知道,上述的输出的结果取决于决定他们输出结果的元素,听起来是有点儿绕口,但是仔细思考一下,&&运算符号只要有一个为假,那么结果一定会是假,||运算符号只有一个为真,那么结果一定会是真。
比如A&&B,如果A为假,那么不用再看B了,结果一定是假,因此决定元素是A,输出A;反之,如果A为真,那么决定元素在于B,结果的真假取决于B的真假,输出B;再看A||B,如果A为真,那么结果一定为真,输出A,如果A为假,那么决定元素在于B,结果真假取决于B的真假,输出B;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值