Performs logical negation on an expression.
!expression 
Arguments
 expression

Any expression.
Remarks
The following table illustrates how the result is determined.
If expression coerces to

Then result is


true 
false 
false 
true 
All unary operators, such as the ! operator, evaluate expressions as follows:

If applied to undefined or null expressions, a runtime error is raised.

Objects are converted to strings.

Strings are converted to numbers if possible. If not, a runtime error is raised.

Boolean values are treated as numbers (0 if false, 1 if true).
The operator is applied to the resulting number.
For the ! operator, if expression is nonzero, result is zero. If expression is zero, result is 1.