在影中講到「~~」的功能是把boolean轉成number:
var a = ~~true; console.log(a); // 結果為1 var b = ~~false; console.log(b); // 結果為0
知道「~~」意義之後,我們可以這樣運用,在下列程式碼中,判斷
calc
字串若等於「add」的話,val
就加1
,否則就減1
,通常功力比較淺的拜歐,就會這樣寫:
var calc = 'add'; var val = 0; if(calc === 'add'){ val += 1; }else{ val -= 1; } console.log(val);//結果為1這樣的可讀性高,但看起來不酷XD,若使用「~~」,可以這樣寫:
var calc = 'add'; var val = 0; val += ~~(calc === 'add') || -1; //如果calc不等於'add',則||前面的結果為0,val就變成加「-1」 console.log(val); //結果為1嗯,這樣酷多了。