Domanda

Si consideri il seguente

var l = console.log.bind(console);
l(-0); // 0
l(0); // 0
l(0 === -0); // true
l(0 == -0); // true
l(1 / 0); // Infinity
l(1 / -0); // -Infinity
  • Perché è zero negativo pari a zero?
  • Dato che è uguale perché non si comporta in modo diverso?

Domanda bonus:

  • È la combinazione 0 / -0 l'unica combinazione in cui oggetti uguali comportano in modo diverso?

Lo so NaN / NaN è una combinazione in cui non uguali oggetti si comportano allo stesso.

È stato utile?

Soluzione

Perché è zero negativo pari a zero?

IEEE 754 richieste .

È la combinazione 0 / -0 l'unica combinazione in cui oggetti uguali comportano in modo diverso?

Credo di sì. In Javascript, solo i numeri hanno una speciale algoritmo ===, e 0, -0, NaN sono i casi particolari solo lì (ECMA-262 §11.9.6).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top