+0
と-0
JavaScriptでは+0
と-0
が区別される。
普通に比較する場合には違いはないが、割り算をした時に結果が変わってくる。
console.log(+0 === -0); // true
console.log(1 / +0 === 1 / -0); // false
1 / +0
はInfinity
に、1 / -0
は-Infinity
になる。0
は+0
と同じ。
ECMAScript6
2014年4月7日現在、ECMAScript6で提案されているObject.is()
でも+0
と-0
は区別される予定。
Object.is(+0, -0); // false