~ Operator
Description
Used to perform bitwise negation on an expression.
Syntax
result = ~expressionThe ~ operator syntax has these parts:
Part Description result Any variable. expression Any expression. Remarks
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.
- Booleans 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 like this:
0101 (expression) ---- 1010 (result)Any digit that is a 1 in the expression will be a 0 in the result. Any digit that is a 0 in the expression will be a 1 in the result.