什么是 !! 在JavaScript?
可能重复:
什么! 运算符(双重感叹号)在JavaScript中的意思是?
$("#imjavascript").attr('checked', !!$('#mainCheck').attr('checked'));
做什么 !! 意思 ?
这是一种双重否定或双重反应,因为有些人称它(可能/可能还有其他名称),它会获得属性并将其转换为布尔值。 第一!
取反值 - 导致一个布尔值,然后第二个取反的那个,所以你得到一个布尔返回,这是一个原始的true
/ false
表示,而不是原来的逆。
这是一种将布尔型可转换非布尔类型改为实际布尔型的习惯方法。 例如,0是数字类型,但也被认为是等同于布尔值“False”的真值。 否定是一种渐开线操作(即它将自身反转),所以通过使用双重否定,我们得到相同的真值返回,但本机布尔类型。
具体来说,考虑!(!0)
,其计算结果为!(True)
(如!0
为真),计算结果为False
- 与0相同的真值,但现在是实际的布尔值。