How does the double exclamation (!!) work in javascript?

This question already has an answer here:

  • What is the !! (not not) operator in JavaScript? 31 answers

  • ! is the logical negation or "not" operator. !! is ! twice. It's a way of casting a "truthy" or "falsy" value to true or false , respectively. Given a boolean, ! will negate the value, ie !true yields false and vice versa. Given something other than a boolean, the value will first be converted to a boolean and then negated. For example, !undefined will first convert undefined to false and then negate it, yielding true . Applying a second ! operator ( !!undefined ) yields false , so in effect !!undefined converts undefined to false .

    In JavaScript, the values false , null , undefined , 0 , -0 , NaN , and '' (empty string) are "falsy" values. All other values are "truthy."(1):7.1.2 Here's a truth table of ! and !! applied to various values:

     value     | !value | !!value
    -----------+--------+-------
     false     | true   | false
     true      | false  | true
     null      | true   | false
     undefined | true   | false
     0         | true   | false
     -0        | true   | false
     1         | false  | true
     -5        | false  | true
     NaN       | true   | false
     ''        | true   | false
     'hello'   | false  | true
    
    链接地址: http://www.djcxy.com/p/12644.html

    上一篇: 双惊叹号! 运营商的意思

    下一篇: 双重感叹号(!!)如何在JavaScript中工作?