位运算在枚举中的运用

96 阅读1分钟

使用

  1. 创建枚举
const A = 1 << 0; // 0b00000001
const B = 1 << 1; // 0b00000010
const C = 1 << 2; // 0b00000100
  1. 属性增加: |
const ABC = A | B | C
  1. 属性删除: & ~
const AB = ABC & ~C;
  1. 返回 值最小的枚举
(ABC & -ABC) === A;
(BC & -BC) === B;
  1. 属性比较
    • AB 当中包含 B:  AB & B === B
    • AB 当中不包含 C:  AB & C === 0
    • A 和 B 相等:  A === B

可以用来做属性判断:if (AB & A){}

引用

位运算(&、|、^、~、>>、<<)