为什么js 中 ‘must’ == true 返回的是false?

一翻查证之后得知,一个字符串和一个布尔值进行比较的时候,会把布尔值转化成数字类型, 那么‘must’==true 就相当于是‘must’ ==1 那么就是返回的false;

 

而,!!'must' ==true 返回的是true ,其原因是操作符 !!的作用是强制将非空字符串转化成布尔值 true, 所以 true==true 了。  而!!"" ==true 返回false。