Je suis tombé sur cette ligne de code dans l'implémentation _.each de Underscore.js et je suis curieux de savoir ce qui se passe ici. Que fait le '+' devant l'objet ?
if (obj.length === +obj.length) { ... }
Je suis tombé sur cette ligne de code dans l'implémentation _.each de Underscore.js et je suis curieux de savoir ce qui se passe ici. Que fait le '+' devant l'objet ?
if (obj.length === +obj.length) { ... }
El if
des tests qui obj.length
est numérique et non NaN
. Le côté droit est toujours un nombre (ou NaN
si obj.length
ne peut être interprété comme un nombre). Il ne sera ===
à la partie gauche si obj.length
est également un nombre.
Notez que l'utilisation de isNaN
ne fonctionnera pas si obj.length
est une chaîne de caractères d'apparence numérique ; c'est-à-dire, isNan("3")
renvoie à false
. Notez également que NaN === NaN
est false
- NaN
n'est jamais ===
à quoi que ce soit.
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.