Open Loloao opened 4 years ago
|表示位或,&表示位与,|的一个用法是取整,即
|
&
1.2 | 0 === 1 2.1 | 0 === 2
我们还可以使用这两个操作符来进行一些组合和判断操作
// 比如以下是 react 源码中的一段判断模式的代码 // 0b 开头表示二进制写法 const NoContext = 0b000 const ConcurrentMode = 0b001 const StrictMode = 0b010 // 我们可以使用 & 判断当前模式是否匹配其他模式 let mode = NoContext console.log(mode & ConcurrentMode) // 0 // 通过 | 进行模式的合并 mode |= ConcurrentMode console.log(mode & ConcurrentMode) // 1 console.log(mode & StrictMode) // 0 console.log(mode & NoContext) // 0 注意此处因为 NoContext 为 000 比较特殊,设定为只要为其他模式就不是这个模式
|
表示位或,&
表示位与,|
的一个用法是取整,即我们还可以使用这两个操作符来进行一些组合和判断操作