Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript 비트 OR(|) 연산자 완벽 가이드: 개념부터 예제까지

JavaScript의 비트 OR(Bitwise OR, |) 연산자는 두 숫자를 이진수 비트 단위로 비교하는 연산자입니다. 비교하는 두 비트 중 하나라도 1이면 결과는 1이 되고, 두 비트가 모두 0일 때만 0을 반환합니다.

비트 OR 연산자의 동작 원리

비트 OR 연산은 다음과 같은 규칙으로 각 비트를 처리합니다.

  • 0 | 0 → 0
  • 0 | 1 → 1
  • 1 | 0 → 1
  • 1 | 1 → 1

예제 코드

아래 예제를 실행하면 JavaScript에서 비트 OR 연산자가 어떻게 작동하는지 직접 확인할 수 있습니다.

<!DOCTYPE html>
<html>
   <body>
      <script>
         document.write("Bitwise OR Operator<br>");
         // 7 = 00000000000000000000000000000111
         // 1 = 00000000000000000000000000000001
         document.write(7 | 1);
      </script>
   </body>
</html>

결과 분석

위 예제에서 숫자 7은 이진수로 111, 숫자 1은 이진수로 001입니다. 두 값을 비트 단위로 OR 연산하면 다음과 같습니다.

  00000111  (7)
| 00000001  (1)
-----------
  00000111  (7)

따라서 실행 결과는 7이 출력됩니다. 첫 번째 피연산자의 모든 비트가 이미 1이므로, OR 연산 후에도 값이 그대로 유지됩니다.

활용 예시

비트 OR 연산자는 특정 비트를 1로 설정(플래그 설정)할 때 유용하게 사용됩니다. 예를 들어 권한 관리나 옵션 조합을 표현할 때 각 비트를 독립적인 상태 값으로 활용할 수 있습니다.

const READ = 4;   // 100
const WRITE = 2;  // 010
const EXECUTE = 1; // 001

let permission = READ | WRITE; // 110 → 읽기 + 쓰기 권한
console.log(permission); // 6

이처럼 비트 OR 연산자는 여러 상태를 하나의 정수로 압축해 관리할 수 있어, 성능과 메모리 측면에서 효율적인 코드를 작성하는 데 도움이 됩니다.