猿问

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

我希望逻辑运算符只有在满足以下条件时才为真:

  1. A 或 B 有null或有一个空字符串,这意味着其中至少有一个会有一些东西,即!((A === null) || (A === '')) || !((B === null) || (B === ''))

  2. A 和 B 都为空或有空字符串

基本上,我唯一希望条件为假的情况是 A 和 B 同时具有非空或非空字符串。


浮云间
浏览 157回答 3
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)));

长风秋雁

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

呼啦一阵风

可以在分配 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'))
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答