双感叹号.
var foo;
console.log(!foo); //undifined情况下,一个感叹号返回的是true;
console.log(!goo); //null情况下,一个感叹号返回的也是true;
var o={flag:true};
var test=!!o.flag; //等同于var test=o.flag||false;
即如果明确设置了变量的值(非null/undifined/0/""等值),结果就会根据变量的实际值来返回,如果没有设置,结果就会返回false。