【JS】!!によるbooleanへの変換

割とよく使う。ライブラリ側で型チェックしててboolean以外のtruthy/falsyな値を渡すとwarningにされるときとか。

!!val

JSだと0とか''(空文字)がfalsyな値とされたり、逆にちゃんとした(?)値を持つ場合はtruthyに扱われる。これを、ひとつ目の!でまずboolean型に変換して、ふたつ目の!で元のtrue/falseの意味に変換するもの。