Bitwise operators are used to perform binary logic with the bit patterns in integers. JavaScript supports several bitwise operators, including:
&
(Bitwise AND)|
(Bitwise OR)^
(Bitwise XOR)~
(Bitwise NOT)<<
(Left shift)>>
(Sign-propagating right shift)>>>
(Zero-fill right shift)
How to Use Bitwise Operators
Here’s a brief explanation of how each operator works:
Bitwise AND (&
)
The &
operator performs a bitwise AND operation.
let x = 5; // binary: 0101
let y = 3; // binary: 0011
console.log(x & y); // 1 (binary: 0001)
Bitwise OR (|
)
The |
operator performs a bitwise OR operation.
let x = 5; // binary: 0101
let y = 3; // binary: 0011
console.log(x | y); // 7 (binary: 0111)
Bitwise XOR (^
)
The ^
operator performs a bitwise XOR operation.
let x = 5; // binary: 0101
let y = 3; // binary: 0011
console.log(x ^ y); // 6 (binary: 0110)
Bitwise NOT (~
)
The ~
operator performs a bitwise NOT operation.
let x = 5; // binary: 0101
console.log(~x); // -6 (binary: 1010)
Left Shift (<<
)
The <<
operator shifts the bits of the number to the left and fills the right side with zeros.
let x = 5; // binary: 0101
console.log(x << 1); // 10 (binary: 1010)
Sign-propagating Right Shift (>>
)
The >>
operator shifts the bits of the number to the right. The left side is filled with the sign bit so that the sign of the number is preserved.
let x = 5; // binary: 0101
console.log(x >> 1); // 2 (binary: 0010)
Zero-fill Right Shift (>>>
)
The >>>
operator shifts the bits of the number to the right. The left side is filled with zeros.
let x = 5; // binary: 0101
console.log(x >>> 1); // 2 (binary: 0010)
Using JavaScript’s bitwise operators is fundamental to performing bit-level operations in your code. They are essential tools in every developer’s toolkit.