JavaScriptで「エクスクラメーションマーク2つ」の意味

https://qiita.com/yuji38kwmt/items/c1bee6b05c390495d95e
`if (!!responce.data.prop) { ... }`というコードがあったので、なんじゃこれと調べてみたらBoolean型に変換しているだけらしい。
1つ目の「!」で演算するときに値を暗黙的にBooleanに変換した上でnot演算して、それを更にnot演算することで元のbool値に戻す。
上URLには`Boolean( responce.data.prop )`……でいいじゃんと書かれているが、まったくその通りである。
そもそもifの条件に使うなら変換する必要すらない。