zoukankan      html  css  js  c++  java
  • What is the !! (not not) operator in JavaScript?

    What is the !! (not not) operator in JavaScript?

    解答1

    Coerces强制 oObject to boolean. If it was falsey (e.g. 0, nullundefined, etc.), it will be false, otherwise, true.

    !oObject  //Inverted boolean
    !!oObject //Non inverted boolean so true boolean representation

    So !! is not an operator, it's just the ! operator twice.

    Real World Example "Test IE version":

    let isIE8 = false;  
    isIE8 = !! navigator.userAgent.match(/MSIE 8.0/);  
    console.log(isIE8); // returns true or false 

    If you ⇒

    console.log(navigator.userAgent.match(/MSIE 8.0/));  
    // returns either an Array or null  

    but if you ⇒

    console.log(!!navigator.userAgent.match(/MSIE 8.0/));  
    // returns either true or false


    It converts a nonboolean to an inverted boolean (for instance, !5 would be false, since 5 is a non-false value in JS), then boolean-inverts that so you get the original value as a boolean (so !!5 would be true).

    解答2

    ! is "boolean not", which essentially typecasts the value of "enable" to its boolean opposite.

    The second ! flips this value.

    So, !!enable means "not not enable," giving you the value of enable as a boolean.

  • 相关阅读:
    PHP时间操作
    php实用正则
    PHP正则表达式函数
    PHP常用字符串函数
    PHP数组简单操作
    PHP基础-自定义函数-变量范围-函数参数传递
    PHP常量的定义和用法
    Ajax用法
    DBCP连接池和事物
    ltp-ddt emmc_dd_rw
  • 原文地址:https://www.cnblogs.com/chucklu/p/11133975.html
Copyright © 2011-2022 走看看