Logical NOT Operator (!) (JavaScript)

Performs logical negation on an expression.

Syntax


result = !expression  

Parameters

result
Any variable.

expression
Any expression.

Remarks

The following table illustrates how result is determined.

If expression is 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 run-time error is raised.

  • Objects are converted to strings.

  • Strings are converted to numbers if possible. If not, a run-time 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.

Requirements

Supported in the following document modes: Quirks, Internet Explorer 6 standards, Internet Explorer 7 standards, Internet Explorer 8 standards, Internet Explorer 9 standards, Internet Explorer 10 standards, Internet Explorer 11 standards. Also supported in Store apps (Windows 8 and Windows Phone 8.1). See Version Information.

See Also

Bitwise NOT Operator (~)
Operator Precedence
Operator Summary (JavaScript)