87 votes

Pourquoi 0.-5 est-il égal à -5?

Supposons que j'écris 0.5 comme 0.-5 de manière inattendue, mais il peut toujours fonctionner. Que fait 0. dans 0.-5 pour qu'il puisse toujours s'exécuter et s'évalue à -5?

J'ai aussi essayé alert(0.-5+1) qui imprime -4, JavaScript ignore-t-il 0. dans 0.-5 ?

40voto

Charlie H Points 2538

Dans JS, vous pouvez exprimer un nombre avec une virgule décimale facultative.

 x = 5.;    //5
x = 5. + 6.   //11

Et à partir du commentaire de Tvde1, n'importe quelle méthode Number peut également être appliquée.

 5..toString()

Cette syntaxe nous permet d'exécuter les fonctions Number sans parenthèses.

 5.toString() //error
(5).toString() //good
5..toString() //good
5 .toString() // awesome

Consultez cette question pour savoir pourquoi.

7voto

Sean_999 Points 79

Je pense que la vraie réponse ne concerne pas le point décimal, mais plutôt le signe moins: cela ne sera-t-il pas interprété comme un opérateur s'il est précédé de quelque chose qui ressemble à un nombre?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X