JS !(非运算)详解

朱雀 2020-02-28 19:10 2857阅读 0赞

JS !(非运算)详解

逻辑非运算!是布尔取反操作(NOT)。作为一元运算符,直接放在操作数之前,把操作数的值转换为布尔值,然后取反并返回。

示例1

下面列举一些特殊操作数的逻辑非运算返回值。

  1. console.log( ! {} ); //如果操作数是对象,则返回false
  2. console.log( ! 0 ); //如果操作数是0,则返回true
  3. console.log( ! (n = 5)); //如果操作数是非零的任何数字,则返回false
  4. console.log( ! null ); //如果操作数是null,则返回true
  5. console.log( ! NaN ); //如果操作数是NaN,则返回true
  6. console.log( ! Infinity ); //如果操作数是Infinity,则返回false
  7. console.log( ! ( - Infinity )); //如果操作数是-Infinity,则返回false
  8. console.log( ! undefined ); //如果操作数是undefined,则返回true

示例2

如果对操作数执行两次逻辑非运算操作,就相当于把操作数转换为布尔值。

  1. console.log( ! 0 ); //返回true
  2. console.log( ! ! 0 ); //返回false

逻辑与和逻辑或运算的返回值不必是布尔值,但是逻辑非运算的返回值一定是布尔值。

发表评论

表情:
评论列表 (有 0 条评论,2857人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JS连续运算

    JavaScript 是函数式编程语言,表达式运算的能力比较强大,通过连续运算可以设计敏捷的程序代码。 示例1 最常用的是连续赋值运算。 > 1. `var a = b

    相关 JS !(运算详解

    逻辑非运算`!`是布尔取反操作(NOT)。作为一元运算符,直接放在操作数之前,把操作数的值转换为布尔值,然后取反并返回。 示例1 下面列举一些特殊操作数的逻辑非运算返回值。

    相关 运算详解

    最近在看很多开源项目的源码,其中位运算应用非常广泛,在此做个总结。 计算机的数字,都是二进制的,而位运算,就是对二进制位进行操作。 一、十进制二进制转换 在总结位运