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