32 votes

Pourquoi le `+` de tête dans `j = +i + ( i < 0 ? len : 0 )` (extrait du code source de jQuery)

J'ai trouvé le bout de phrase suivant dans le code source de jQuery, dans la définition de la fonction eq fonction :

j = +i + ( i < 0 ? len : 0 )

J'ai été surpris par le +i . J'aurais plutôt attendu :

j = i + ( i < 0 ? len : 0 )

Quelle est la différence ? Quelle est l'utilité de ce leader + ?

43voto

Nirk Points 9999

+i contraint au numéro. À titre d'exemple, essayez "1" + 1 contre +"1" + 1 (le premier est "11" alors que ce dernier est 2 )

33voto

tymeJV Points 48178

Le plus devant la variable la transforme en un nombre.

Par exemple :

var x = "12";
console.log(x + 3); //logs 123;
console.log(+x + 3) //logs 15;

5voto

Josh P Points 348

Je pense que c'est l'opérateur unaire : Que fait le signe plus dans "+nouvelle date" ?

En gros, on l'a forcé à être converti en 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