关于javascript:的用法不只是判断的作用还可以判断值是否为空的情况

34次阅读

共计 984 个字符,预计需要花费 3 分钟才能阅读完成。

咱们平时应用的 && || 个别只是用于判断 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 就返回前面的值

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

之前始终想不出 js 中如何能实现这样的成果,当初能够了。间接应用 || 即可。因为它的作用是返回第一个为 true 的值,如果 value 有值并且不为 0 undefined null 等,就返回 value,否则返回前面的值。

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

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

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

正文完
 0