今天看到这样的代码:
if ( !!a ){
……
}
很不明白为什么要进行两次非操作,于是把a取 null, 0, 1, undefined, "", 'abc', alert 这些值进行了测试,发现 if(a) 跟 if(!!a) 的判断结果完全是一样的,只不过 !!a 的类型是boolean型。
谁能告诉我这么做的理由是什么?
今天看到这样的代码:
if ( !!a ){
……
}
很不明白为什么要进行两次非操作,于是把a取 null, 0, 1, undefined, "", 'abc', alert 这些值进行了测试,发现 if(a) 跟 if(!!a) 的判断结果完全是一样的,只不过 !!a 的类型是boolean型。
谁能告诉我这么做的理由是什么?