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.
if (a & b) { ... } // Noncompliant; & used in error
var oppositeSigns = ((x ^ y) < 0); // Noncompliant; there's a clearer way to test for this
if (a && b) { ... }
var oppositeSigns = false;
if ( (x < 0 && y > 0) || (x > 0 && y < 0) ) {
oppositeSigns = true;
}