JavaScript 中的双重否定 我们在写 js 代码的时候可能会这么写,或者会看到别人有这样的写法: this.setState({ visible: !!value, }); 两个! 是为了将其值转换为布尔。首先 ! 否定一次,转换值如下: undefinedtotrue nulltotrue +0totrue -0totrue ''totrue NaNtotrue falsetotrue 所有其他的表达是 tofalse...
不是一个独特的 JavaScript 运算符,也不是一个特殊的语法,而只是一个两个否定的序列。它用于将任何类型的值转换为适当的 true 或false 布尔值,具体取决于它是真实的还是假的。 !!1 // true !!0 // false !!undefined // false !!{} // true !![] // true 第一个否定将任何值转换为 false(如果...