論理否定演算子(!)
値の「真偽(truthy / falsy)を反転する」演算子です。
!value
value が truthy → false
value が falsy → true
なぜ上記のように動くかと言うと、!は以下のように動作しています。
- value を boolean に強制変換する(truthy → true, falsy → false)
- その論理値を反転する(NOT)
ダブルバン(!!)
booleanに強制変換するために使われる演算子です。
!!value
value が truthy → true
value が falsy → false
なぜ上記のように動くかと言うと、!!は以下のように動作しています。
- value を boolean に強制変換する(truthy → true, falsy → false)
- その論理値を反転する(NOT)
- その論理値を更に反転する(NOT) = 元に戻る
結果として、「Boolean としての真偽値を得る」ために使われます。