!!num类似这种双感叹号的判断是什么意思

如下代码var num1 = !!num1 ? num1 : a;,如果num1是undefined,null,那么!num1是true,!!num1是false,以此可以看出这句代码的意思是
如果num1不是undifined和null则取参数的值num1,否则取变量a的值。

!可将undefined、null、‘’等转为布尔值,!!后将得到一个布尔值并且不改变其原本的值,注意{}[]空对象空数组默认为true

原文地址:https://www.cnblogs.com/ybhome/p/11686304.html