我刚遇到这个问题,我想知道:
将-0
更改为正常0
的最佳做法是什么?这让我感到困惑,为什么会有一种设置有符号值的方法,但没有明确的方法可以将其更改为正常0
。
答案 0 :(得分:2)
如果它应该是一个逻辑整数,则按位或按0强制整数上下文:
var x = -0;
console.log(x | 0); # Produces 0
对于所有其他整数值,这是一个无操作(除了可能通过保证值为JIT优化的整数来加速某些浏览器中的代码;这是一个常见的技巧,通知浏览器您打算使用的整数行为JS交叉编译器),由于-0不是合法的整数值,因此将其转换为plain 0。
答案 1 :(得分:1)
试试并重新分配。
if (var === -0) {
var = 0;
}
如果var
包含正数0,这也将执行作业,因为0 === -0
,但是没有任何损害。