Javascript - !和!!

作者: 厦门_小灰灰 | 来源:发表于2019-11-14 21:46 被阅读0次

    学习一下 !和!! 之间的区别;

    先看个简答的示例:

    console.log(!0);  //true
    console.log(!false);  //true
    console.log(!'');  //true
    console.log(!'  ');  //false
    console.log(!'abc');  //false
    console.log(!{});  //false
    
    console.log(typeof !0);  //boolean
    console.log(typeof !'abc');  //boolean
    console.log(typeof !true);  //boolean
    console.log(typeof !{});  //boolean
    

    !:逻辑非

    通过示例可以看出,当给变量前面加上!之后,通过typeof可以知道变量类型变成了boolean

    这里说变量类型感觉有点不妥,不过也不知道怎么描述.

    其中

    • 0
    • '' / ""
    • false
    • null
    • undefined
    • NaN
      逻辑非之后的值为true

    !!

    它的作用是用来:判断在其后面的变量是 true or false

    如: !!'abc'

    • 第一步: !'abc' 返回的值是false,是boolean类型;
    • 第二部: !false 返回的值是true,是boolean类型;
    • 结果:true,可以判断 'abc'是有值的,不是上面的那几种情况;

    结论:!!可以快速得出,当前的变量的值是否是真的值(将值类型转换成true)。

    相关文章

      网友评论

        本文标题:Javascript - !和!!

        本文链接:https://www.haomeiwen.com/subject/zzydictx.html