Quel est le but d’un symbole plus avant une variable?

Cela ressemble vraiment à une question simple mais je n’ai pas eu de chance de chercher. qu’est-ce que le +d

 function addMonths(d, n, keepTime) { if (+d) { 

veux dire?

L’opérateur + renvoie la représentation numérique de l’object. Donc, dans votre cas particulier, il semblerait que le fait de savoir si d est un nombre différent de zéro semble prédire.

Référence ici . Et, comme indiqué dans les commentaires, ici .

C’est un opérateur unaire “+” qui produit une expression numérique. Ce serait la même chose que d*1 , je crois.

Comme expliqué dans d’autres réponses, il convertit la variable en un nombre. Particulièrement utile lorsque d peut être un nombre ou une fonction évaluant un nombre.

Exemple (en utilisant la fonction addMonths dans la question):

 addMonths(function(){return x*y;}, 1, true); addMonths(34,1,true); addMonths("34",1,true); 

alors le +d évaluera à un nombre dans tous les cas. Ainsi, il n’est plus nécessaire de rechercher le type et de prendre des chemins de code différents selon que d est un nombre, une fonction ou une chaîne pouvant être convertie en un nombre.