« Programmation JavaScript/Variables » : différence entre les versions

Contenu supprimé Contenu ajouté
Touffy (discussion | contributions)
m →‎undefined : correction d'une faute dans un exemple
Touffy (discussion | contributions)
→‎number : ajout des valeurs Infinity et NaN
Ligne 110 :
 
===number===
JavascriptJavaScript réunit en un seul type les entiers, petits et grands, les décimaux, et les réels, flotants ou pas.
<pre>
r = 1/3;
Ligne 119 :
alert(n); // affiche 2
alert(typeof n); // affiche number
</pre>
 
Concrètement, les nombres sont stockés sur 64 bits, avec une mantisse de 53 bits. Cela permet des valeurs entières jusqu'à 9 007 199 254 740 991, à partir duquel on commence à perdre de la précision jusqu'à 2^1024-1 qui est la valeur flottante la plus élevée représentable en JavaScript.
 
En fait, JavaScript inclut également dans le type '''number''' deux valeurs spéciales. '''Infinity''', un nombre signé, est renvoyé dès que le résultat dépasse la capacité de stockage de '''number''', mais aussi dans des cas limites simples. Dans les cas indécidables, ou bien lorsqu'une opération qui retourne un nombre ne peut pas le faire, c'est la valeur '''NaN''' (Not A Number) qui est renvoyée.
 
<pre>
1/0 == Infinity
-2 / Infinity == 0
0/0 == NaN
Number("texte") == NaN
</pre>