1、JavaScript的邏輯非(!)操作符的作用
(邏輯非) 如果操作數(shù)能夠轉(zhuǎn)換為true則返回false;否則返回true。
2、!!的作用
!!一般用來將后面的表達(dá)式強(qiáng)制轉(zhuǎn)換為布爾類型的數(shù)據(jù)(boolean),也就是只能是true或者false;
3、!!的使用意義
我們知道JavaScript是一門弱類型的語言,但是,在使用中有時(shí)需要強(qiáng)制轉(zhuǎn)化為相應(yīng)的類型。所以,!!() ,這種寫法有將弱類型轉(zhuǎn)化為強(qiáng)類型的作用。
雖然很多情況下JavaScript會(huì)有隱式轉(zhuǎn)化的功能,但是人為的將不確定的值強(qiáng)轉(zhuǎn)為確定類型的值是很有必要的,這樣才可以針對(duì)確定的類型進(jìn)行相應(yīng)的操作。可以看到在很多框架中都是有用到這樣的方式來進(jìn)行類型的強(qiáng)轉(zhuǎn)。
var a;
console.log("a = " + a);// a = undefined
var b = !!a;
console.log("b = " + b);// b = false