阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      JS ! 逻辑非 运算符

      逻辑非(!)

      下面的代码是 ! (逻辑非) 运算符的示例。

      n1 = !true              // !t 返回 false
      n2 = !false             // !f 返回 true
      n3 = !''                // !f 返回 true
      n4 = !'Cat'             // !t 返回 false
      

      双重非(!!)运算符

      可能使用双重非运算符的一个场景,是显式地将任意值强制转换为其对应的布尔值。

      这种转换是基于被转换值的 “truthyness” 和 “falsyness"的(参见 truthy 和 falsy)。

      同样的转换可以通过 Boolean 函数完成。

      n1 = !!true                   // !!truthy 返回 true
      n2 = !!{}                     // !!truthy 返回 true: 任何 对象都是 truthy 的…
      n3 = !!(new Boolean(false))   // …甚至 .valueOf() 返回 false 的布尔值对象也是!
      n4 = !!false                  // !!falsy 返回 false
      n5 = !!""                     // !!falsy 返回 false
      n6 = !!Boolean(false)         // !!falsy 返回 false
      
      目录
      目录