js 判断一个数是否为正整数？
if ( ( ( number - 0 ) | 0 ) !== number - 0 ){ // 输入购买数量是否为正整数
```
nextBtn.disabled = true;
nextBtn.innerHTML = '请输入正确的购买数量';
return;
```
}
书上看到这样的代码 ( number - 0 ) | 0 ) !== number - 0 
负数 或 0 还不是负数吗？
是不是写错了
如果写错了  按这本书的写法可以怎么写呢？
请大佬帮忙！谢谢了
你这个判断的关键在那个按位或操作符上，如果number是整数的话，比如 10, 那么 `10 | 0 == 10`, 但是 如果是小数的话，或出来的结果也是整数 `10.1 | 0 == 10`。同时有number - 0 操作，那么如果number == 'abc'这样的字符串 `number - 0 == NaN` 这时候再按位与为 `NaN | 0 == 0` 就避免了报错。
回到你的条件，如果number是整数，那么条件不成立，也就不用提示用户再输入正确的数量，如果number是小数，那么条件成立，提示用户输入正确的数量。这个条件不会判断正负，只关心是不是整数。如果number 是 '123'这样的字符串，条件不成立, 如果是 'abc' 这样的字符串，条件成立。
结论： 书上没写错。这个条件会在用户输入小数，非数字的字符串时成立。
如果非要判断>0的话，可以这样写
```
if ((( number - 0 ) | 0 ) !== (number - 0) && (( number - 0 ) | 0 ) <= 0)

```