비트 OR 할당 연산자(|=)는 왼쪽 피연산자와 오른쪽 피연산자에 대해 비트 단위 OR 연산을 수행한 뒤, 그 결과를 다시 왼쪽 피연산자에 할당하는 축약형 연산자입니다.
동작 원리
즉, a |= b는 a = a | b와 완전히 동일하게 동작합니다. OR 연산은 두 비트 중 하나라도 1이면 결과가 1이 되고, 둘 다 0일 때만 0을 반환합니다.
1 | 1→11 | 0→10 | 1→10 | 0→0
예제 코드
아래 예제를 실행하면 비트 OR 할당 연산자가 실제로 어떻게 동작하는지 확인할 수 있습니다.
<html>
<body>
<script>
var a = 2; // 2진수: 10
var b = 3; // 2진수: 11
document.write("(a |= b) => ");
document.write(a |= b);
</script>
</body>
</html>
실행 결과 분석
위 코드에서 변수 a는 2진수로 10, 변수 b는 11입니다. 두 값의 각 비트를 OR 연산하면 다음과 같습니다.
10 (a) 11 (b) ─── 11 (결과)
따라서 (a |= b)의 실행 결과는 3이 출력되며, 연산 후 변수 a에는 3이 저장됩니다. 이처럼 |= 연산자는 플래그(flag) 값을 설정하거나 특정 비트를 켜야 할 때 유용하게 사용됩니다.