=! Is not an operator. You can understand it like this. Suppose there is a statement a=!b
it is an assignment of operand b in a but here the twist is before assigning b to a we are reversing the state of b by prefixing operand b with ! which is basically logical not operator.