9 (10進数) = 00000000000000000000000000001001 (2進数) -------------------------------- ~9 (10進数) = 11111111111111111111111111110110 (2進数) = -10 (10進数) 数値xをビットNOTすると、-(x + 1)になります。 例えば、~5は-6になります。 下記はindexOfを使用した例になります。 var str = 'rawr'; var searchFor = 'a'; // (-1*str.indexOf('a') <= -1)の代わりの方法 if (~str.indexOf(searchFor)) { // searchForは文字列内に有り // (ifの結果は、0以外の値) } else { // searchForは文字列内に無し // (ifの結