JavaScript does not have an integer type, but it does have bitwise operators `<<`, `>>`, `>>>`, `~`, `&`, `|`. These operators convert their operands from floating point values to integers and back, so they are not as efficient as in C or other languages. Further, they are rarely useful in browser applications, and the similarity to the logical operators can mask some programming errors.

## Noncompliant Code Example

    if (a & b) { ... } // Noncompliant; & used in error
    var oppositeSigns = ((x ^ y) < 0); // Noncompliant; there's a clearer way to test for this

## Compliant Solution

    if (a && b) { ... }
    var oppositeSigns = false;
    if ( (x < 0 && y > 0) || (x > 0 && y < 0) ) {
      oppositeSigns = true;
    }