javascript 测试是否存在两个标志中的任何一个

javascript test if any of two flags are present

我有这个简单的代码:

var A = 1, B = 2, C = 4, D = 8;

var x = 4;

是否有与此代码等效的代码:

if(x == C || x == D){

}

但只使用位运算符(单个条件)?

您可以测试 C 和 D 的组合:

if (x & (C | D))

当在 C 或 D 中设置的任何位也在 x 中设置时,结果将为非零。