我明白
if( value ) {
}
如果值不为 null、未定义、NaN、空字符串 ("")、0 或 false,则计算结果为 true
但是,确实
if(!值){}
如果值为 null、未定义、NaN、空字符串 ("")、0 或 false,则计算结果为 true?
我正在使用 Google 脚本,并且正在从电子表格中获取数据,其中某些单元格为空白。对于这些单元格,我想确保值返回为“空字符串”,而不是任何其他可能性,例如未定义(有些单元格当前返回“未定义”,这导致我寻求这个答案)。
我想使用这段代码,只要它能实现我认为的功能:
if (! value ) {value = ""}
(P.S.我从这个线程开始: Is there a standard function to check for null, undefined, or blank variables in JavaScript? ,但答案并没有解决相反的情况)
最佳答案
简而言之,是。
使用负数 !
和双负数 !!
将值强制或转换为 boolean 值,这会将所有 false 值转换为 false
并将所有其他值设置为 true
,然后只需检查其是否为 true 或 false,知道它们是 boolean 值。
因此,换句话说,如果您想要相反的 boolean 值,只需在前面添加 !
如果您想要实际值的 boolean 值,则在前面添加 !!
!"" === true; //inverted
!!"" === false;//actual
关于javascript - (!value) 是否对所有假值都求值为真?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25958492/