Skvělý malý trik s JavaScripts indexOf()

Zde je malý trik, který jsem pochytil při procházení některých pluginů, které jsem musel znovu upravit nebo rozšířit

var arr = [ 1, 2, 3, 'foo' ];

// old way
if (arr.indexOf('foo') > -1) {
    console.log('"foo" is in "arr"!');
}


// new way
if (~arr.indexOf('foo')) {
    console.log('"foo" is in "arr"!');
}

Napadlo mě – jak to funguje ? Je to kvůli tomuto malému operátorovi, kterého jsem nikdy nepoužil ani neviděl:

Bitový NOT-operátor ~

Převrací všechny bity čísla, nejsem si jistý, jak to přesně funguje, ale zdá se, že -1 je jediný případ, kdy skončíte s falešným číslem, nebo spíše falešným výrazem:0

To znamená, že toho můžeme využít a použít v indexOf (zatím jsme však neviděli žádné jiné použití).

// you can also negate the statement, no separate parantheses needed
if (!~dailyRoutine.indexOf('☕️')) {
    console.log('Not a life worth living');
}

Co si o tom myslíš? Myslím, že to určitě vypadá úhledně a šetří některé znaky v kódu, ale mohlo by to zmást lidi, kteří si to přečtou později (nebo si to vyhledávají jako já lol)