为什么JavaScript中的-1*0=-0?

为什么JavaScript中的-1*0=-0?,javascript,Javascript,如标题所述: 为什么使用Javascript-1*0=-0 我如何预防它? 我本以为结果是0。你有什么具体的理由想阻止这种情况发生吗 如果您的问题与您希望获得0而不是-0这一事实有关,则无需担心,因为-0==0返回true console.log(-1*0) console.log(-1*0==0) 常数turnItToNegative=n=>-1*n 常数myNumber=turnItToNegative(0) 如果(myNumber==0){ log('这仍然是零,不要担心') }问题出

如标题所述:
为什么使用Javascript
-1*0=-0

我如何预防它?

我本以为结果是
0

你有什么具体的理由想阻止这种情况发生吗

如果您的问题与您希望获得
0
而不是
-0
这一事实有关,则无需担心,因为
-0==0
返回true

console.log(-1*0)
console.log(-1*0==0)
常数turnItToNegative=n=>-1*n
常数myNumber=turnItToNegative(0)
如果(myNumber==0){
log('这仍然是零,不要担心')

}
问题出在哪里?您希望发生什么?为什么要阻止它?它是否会导致程序逻辑出现任何问题?如果您不希望出现负值,请使用
Math.abs
“我本来希望结果是
0
。”好的,但我不知道负零的问题在哪里。它导致了什么具体问题?@gixlg这不是问题:
`${-0}`==“0”
@gixlg您是否真的得到了意外的结果(在控制台之外)?如果是,则显示产生意外结果的代码。如果没有,那么你就什么都不用担心了。是的,你唯一会有问题的时候就是你是否需要区分-0和0。但如果你需要的话,你会知道的。