nodeのqsモジュールのコード読んでたらよくわからん書き方があった。 if (~key.indexOf(']')) { ... } って感じだったんだけど、チルダってなんだっけと思って。 チルダはビット反転演算子で、整数をビット反転させると符号を反転させて1引いた数になる。こんな感じ。 console.log(~-4); // 3 console.log(~-3); // 2 console.log(~-2); // 1 console.log(~-1); // 0 console.log(~0); // -1 console.log(~1); // -2 console.log(~2); // -3 console.log(~3); // -4 console.log(~4); // -5 つまり-1のときだけ0になるので、indexOfと組み合わせるとあんな感じに書けるというわけみた