Math.pow et Infinity
-
09-12-2019 - |
Question
Il existe sept formes indéterminées en mathématiques.La plupart d'entre eux renvoient NaN en JavaScript.Mais quand j'essaye :
Math.pow( 0, 0 )
ou
Math.pow( Infinity, 0 )
ça renvoie :
1
Est-ce une sorte de bug ?
La solution
C'est ce que le Spécification dit, donc ce n'est pas un bug:
2.Si
y
est +0, le résultat est de 1, même six
est NAN.
Autres conseils
Non, car tout ce qui est à la puissance zéro est un.
Non seulement c’est plus facile à mettre en œuvre, mais c’est mathématiquement correct (certains mathématiciens disent pow(0, 0)
n'est pas défini, mais la convention générale est de prendre pow(x, 0) == 1
pour n'importe lequel X).
En plus de cela, c'est dans la spécification (lien officiellement volé à primvdb) : http://es5.github.com/#x15.8.2.13
Non, ce n'est pas un bug.Ce comportement est le respect du Définition de l'ECMA de JavaScript .