I think of the double ex operator(!!) as a boolean converter-
it returns a boolean type true or false value for whatever data it operates on.
It is actually not a single operator, but two consecutive uses of the ! operator, which first reverses the true or false value of its operand, and then reverses the reversed value.