求助javascript if语句中 ! 的使用

教程中说, if(!str) 相当于判空 , 那么 if(!boolean) 也相当于判空么?
我现在测试的结果是 boolean = false, if(!boolean) = false
请问该怎么改?if(boolean == true)?
最新回答
口拙嘴笨

2024-05-13 00:52:00

已经确定boolean是布尔值,直接判断boolean就可以了,即"if(boolean)"。
"!"是逻辑非运算符,即取反。
js属于弱类型语言,所以可以不用先声明数据类型,而在运算的时候再进行类型转换。所以"!str"当中,会先把str转换为布尔类型,在转换过程中,str为空则为false,str非空则为true。"!str"相当于"str==''"。
如果你已经知道了boolean为布尔值则不需要转换,直接判断就可以了。当然,判断"boolean==true"也是可以的,只是有点画蛇添足。
魔仙女王

2024-05-13 01:01:32

!是取反
!boolean的意思就是boolean=true的时候,!boolean就是false