Định nghĩa
Thực hiện OR trên từng bit của hai số nguyên 32-bit. Kết quả bit = 1 nếu ít nhất một bit là 1.
Bảng chân lý bit
| a | b | a | b |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
Ví dụ
<script>
var a = 2; // 10
var b = 3; // 11
document.write("(a | b) = " + (a | b)); // 3 (11)
</script>
Ứng dụng phổ biến
- Gộp flag (bitmask):
flags = FLAG_A | FLAG_B. - Đảm bảo bit bật:
value | MASK. - Làm tròn xuống nhanh (positive):
3.7 | 0→ 3 (nhanh hơn Math.floor). - Merge permission:
userPerm | adminPerm.
Lưu ý
- Toán hạng chuyển sang signed 32-bit int.
|khác||(logical OR) – bitwise luôn đánh giá cả hai, trả về số.a | 0thường dùng ép thành int32 (giốngMath.trunccho số dương).