JavaScript tutorial:
~ Operator

 

The (~) operator is use to perform a bitwise NOT (negation) on an expression.

Syntax

result = ~ expression

The ~ operator syntax has these parts:

Part

Description

result

Any variable.

expression

Any expression.

Example

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.

The ~ operator looks at the binary representation of the values of the expression and does a bitwise negation operation on it. The result of this operation behaves as follows:

0101 (expression)
----
1010 (result)

Any digit that is a 1 in the expression becomes a 0 in the result. Any digit that is a 0 in the expression becomes a 1 in the result.

See also: ! Operator, Operator Behavior, Operator Precedence, Operator Summary