js強制類型轉換

關於位運算符~spa

~a 大體等同於 -(a+1),code

它首先將值強制類型轉換爲 32 位數字,而後執行字位操做「非」(對每個字 位進行反轉)。 對象

在 -(a+1) 中惟一可以獲得 0(或者嚴格說是 -0)的 a 值是 -1。也就是說若是 a 爲 -1 時,~blog

和一些數字值在一塊兒會返回假值 0,其餘狀況則返回真值。it

so,就有了下面的應用class

let a = "asdfasf";
if (a.indexOf('a') != -1) {
    //....
}

等同於layout

let a = "asdfasf";
if (~a.indexOf('a')) {
    //....
}

注:indexOf是不能用於對象的!類型轉換

相關文章
相關標籤/搜索