为了账号安全,请及时绑定邮箱和手机立即绑定

只有当它们都是非空或非空字符串时,逻辑运算符才为假

只有当它们都是非空或非空字符串时,逻辑运算符才为假

浮云间 2022-05-26 17:00:46
我希望逻辑运算符只有在满足以下条件时才为真:A 或 B 有null或有一个空字符串,这意味着其中至少有一个会有一些东西,即!((A === null) || (A === '')) || !((B === null) || (B === ''))A 和 B 都为空或有空字符串基本上,我唯一希望条件为假的情况是 A 和 B 同时具有非空或非空字符串。
查看完整描述

3 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

只需检查值并使用逻辑或链接条件。


const check = (a, b) => a === null || a === '' || b === null || b === '';


//        the above is the same as this, like the text requests

//        (a === null || a === '') !== (b === null || b === '') ||

//        (a === null || a === '') && (b === null || b === '');

    


console.log([

    [null, null], //  true

    [null, ''],   //  true

    ['', null],   //  true

    ['', ''],     //  true

    [1, 1],       // false

    [null, 1],    //  true

    [1, null]     //  true

].map(a => check(...a)));


查看完整回答
反对 回复 2022-05-26
?
长风秋雁

TA贡献1757条经验 获得超7个赞

如果 A 和 B 为 null、未定义、0 和 ''(空),则以下条件将起作用。

if(!A || !B || A==='' || B===''){}


查看完整回答
反对 回复 2022-05-26
?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

可以在分配 null 或 "" 之一时进行简化


let test = (a = "", b = "") => {

  if(a === null) a = ""

  if(b === null) b = ""

  return !( a != '' && b != '')

}


console.log(test(null, null))

console.log(test('', ''))

console.log(test('a','b'))

console.log(test(null,'b'))


查看完整回答
反对 回复 2022-05-26
  • 3 回答
  • 0 关注
  • 155 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信