猿问

js if条件判断请问这样写对吗?

data[0].estate !== (0 || null || "")

烙印99
浏览 617回答 7
7回答

一只萌萌小番薯

0 || null -> nullnull || "" -> ""0 || null || "" -> ""也就是说你括号里的内容永远都会是个空字符串,如果你想判断它是否非空,那么可以这样:let estate = data[0].estatelet isEmpty = !(estate && estate !== "")因为 0 和 null 都判定为 false,因此let a;let c;a = 0; c = !(a && a !== '') -> truea = ''; c = !(a && a !== '') -> truea = null; c = !(a && a !== '') -> truea = 1; c = !(a && a !== '') -> falsea = 'foo'; c = !(a && a !== '') -> falsea = {}; c = !(a && a !== '') -> false其实也就是 !!estate 了,!!可以转换任何东西到一个 bool 值。

jeck猫

看你的代码。。应该是想要这样的结果data[0].estate !== 0 && data[0].estate !== null && data[0].estate !== ""如果确定了是这样的需求,可以这样来做:![0, null, ""].includes(data[0].estate)includes为强类型匹配,不做自动转换
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答