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

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

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

posted @ 2019-10-16 16:24  忽闻河东狮子吼  阅读(309)  评论(0编辑  收藏  举报