JavaScript has bitwise operators that work on -bit integers:
5 & 3 // AND: 1 (binary: 101 & 011 = 001)
5 | 3 // OR: 7 (binary: 101 | 011 = 111)
5 ^ 3 // XOR: 6 (binary: 101 ^ 011 = 110)
~5 // NOT: -6 (flips all bits)
5 << 1 // Left shift: 10 (doubles)
5 >> 1 // Right shift: 2 (halves)
You won't use these often in typical web development. They're for specific cases like flags, permissions, or performance optimization.