• JavaScript 中 双感叹号 !! 的作用


    作用:!! 将后面的表达式强制转换为布尔类型的数据(boolean),也就是只能是true或者false;

    布尔型的转换,javascript约定规则为:
    结果是 false 的情况:
    false、0、undefinded、null、” ”(空字符串) 为 false
    结果是 true 的情况:
    true、1、”非空字符串”、任意数组,对象,函数(函数是特殊的对象)即使是空数组,空对象 为 true

    特别注意:
    字符串”0″转化成bool 为true ,数值0 转化为bool 为false

    !与 !!

    解释:一个!号表示 非 ,两个 !!号表示 非非,!!基本就只应用于将类型转换为布尔值。
    举个例子:

    var a;
    console.log(a); //undefined
    console.log(!a); //true 
    console.log(!!a); //false
    

    以上代码定义了一个变量a 并没有赋值,所以结果是 undefined ,但是使用 !将undefined转换成了bool,但是undefined本身应该是false,结果是相反的,所以再加一个!使得结果转换成正确的bool值,
    即 !!a 表示把a转换成bool值:a--> undefined-->false
    所以 !!(双感叹号)的作用就是将后面的表达式强制转换为布尔类型的数据(boolean)

    小结:

    对null与undefined等其他用隐式转换的值,用一个感叹号返回的都是true,用两个感叹号返回的就是false,所以两个感叹号的作用就在于,将这些值转换为“等价”的布尔值,如果明确设置了变量的值(非null/undifined/0/”“等值),结果就会根据变量的实际值来返回,如果没有设置,结果就会返回false。

  • 相关阅读:
    CentOS怎样强制卸载PHP以及自定义安装PHP
    HTMLparser 笔记
    linux如何查看CPU,内存,机器型号,网卡信息
    PC机做ISCSI存储服务器故障
    [ Python
    [ Python
    [ Python
    [ Python
    [ Python
    [ Python
  • 原文地址:https://www.cnblogs.com/qingheshiguang/p/14863369.html
Copyright © 2020-2023  润新知