javascript のチルダ, indexOfの時に使えるよ〜とか

チルダはビット反転演算子らしく, 整数をビット反転させると符号を反転させて1引いた数になるらしい.
よって, -1 -> 1 -> 0 で, indexOf の返り値が if文で普通に使えるじゃん〜
みたいなコードをどっかで見かけた.
今日急に思い出して, 忘れそうなのでメモ.

if (!~str.indexOf("foo")) {}