# What is the purpose of a plus symbol before a variable?

## What is the purpose of a plus symbol before a variable?

this really sounds like a simple question but I had no luck searching. what does the +d in
if (+d) {

means?

### Solution 1:

The `+` operator returns the numeric representation of the object. So in your particular case, it would appear to be predicating the if on whether or not `d` is a non-zero number.

Reference here. And, as pointed out in comments, here.

### Solution 2:

It is a unary “+” operator which yields a numeric expression. It would be the same as `d*1`, I believe.

### Solution 3:

As explained in other answers it converts the variable to a number. Specially useful when d can be either a number or a string function that evaluates to a number.

Example (using the `addMonths` function in the question):

``````addMonths(34,1,true);
then the `+d` will evaluate to a number in all cases. Thus avoiding the need to check for the type and take different code paths depending on whether `d` is a number, a function or a string that can be converted to a number.