什么!1和!0在Javascript中意味着什么?

m_v*_*eek 42 javascript

可能重复:
在javascript中返回!1

在我今天必须阅读的JavaScript文件中,有一行将变量声明为阶乘,如下所示:

var myVariable = !1;
Run Code Online (Sandbox Code Playgroud)

然后在这样的函数中使用类似的东西作为参数:

return variable.myFunction(!0);
Run Code Online (Sandbox Code Playgroud)

任何人都可以向我解释感叹号在这种情况下的意义,并最终解释为什么这通常用于(福利)?

先感谢您 !

Ani*_*han 76

的!是布尔运算符.

NOT(!):将语句从true切换为false或从false切换为true.

!0 = true
!1 = false
Run Code Online (Sandbox Code Playgroud)

是对布尔运算符及其在javascript中的使用的精彩介绍.

  • 这是一种将值缩小为真或假的技术 (46认同)
  • 补充说明:为什么不简单地使用`0`和`1`?是否要确保在缩小过程之后仍然清楚它们是`boolean`而不是`int`? (15认同)
  • 为什么不使用`!true`或`!false`,因为它节省了脚本的下载大小? (2认同)
  • @Legends,是的,因为JS按原样通过电线传输并在客户端运行。 (2认同)
  • @don正确-将`!`运算符添加为将'int'的0和1强制为'boolean'。 (2认同)