|| && 的用法,不只是判断的作用

|| && 的用法,不只是判断的作用,还可以判断值是否为空的情况

我们平常使用的 && || 一般只是用于判断 truefalse,其它这两个运算符还有其它作用,它是有返回值的。

&& 的返回值是:最后一个为 ture 的值
|| 的返回值是:第一个为 true 的值

一、功能说明

1. &&

  1. 两边条件都为 true 时,结果才为 true
  2. 如果有一个为 false,结果就为 false
  3. 当第一个条件为 false 时,就不再判断后面的条件

2. ||

  1. 只要有一个条件为 true 时,结果就为 true
  2. 当两个条件都为 false 时,结果才为 false
  3. 当一个条件为 true 时,后面的条件不再判断

二、使用场景

在很多返回值控制方面可以使用这两个符号实现很实用的效果

1. 封装 ajax 请求

封装 ajax 请求中,方法作为参数时,可以传递有参数或无参数的方法,如果是有参数的,就在 success 中执行带参数的方法,如果没有就执行无参数的。

function getData (url, queryData, onSuccess, onError, complete) {
    $.ajax({
        url: url,
        method: 'GET',
        dataType: 'json',
        data: queryData,
        beforeSend: function (request) {},
        success: function (res) {
            onSuccess && onSuccess(res);
        }
    })
}

getData('/user/register', {
    name: 'Kyle',
    age: 30
}, res => {
    // 这里是带参数的成功返回方法
    // 在上面的方法中就会执行 onSuccess(res) 这个入口
})

2. 简化 value ? value : 'default value'

在 Swift 中有个很实用的运算符 ?? 它的作用是:
如果前面的值不为 nil(就是空的意思) 就返回前面的值,如果为 nil 就返回后面的值

其实 ES6 2020 已经推出了类似 Swift 的用法,但好像目前支持的很少。

具体可以看这里:
https://es6.ruanyifeng.com/#docs/object#Null-%E5%88%A4%E6%96%AD%E8%BF%90%E7%AE%97%E7%AC%A6

let str = value ?? 'second';
// 相当于
let str = value ? value : 'second'

之前一直想不出 js 中如何能实现这样的效果,现在可以了。直接使用 || 即可。因为它的作用是返回第一个为 true 的值,如果 value 有值并且不为 0 undefined null 等,就返回 value,否则返回后面的值。

value ? value : 'second'
// 返回值为 "second"

value || 'second'
// 返回值为 "second"

在很多使用场景中都会用到这个

在这里插入图片描述

在这里插入图片描述

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十月ooOO

许个愿,我帮你实现

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值