Fa javascript avere un concetto di zero negativo
-
25-10-2019 - |
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.
Soluzione
Perché è zero negativo pari a zero?
È 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