this really sounds like a simple question but I had no luck searching. what does the +d
in
function addMonths(d, n, keepTime) {
if (+d) {
means?
this really sounds like a simple question but I had no luck searching. what does the +d
in
function addMonths(d, n, keepTime) {
if (+d) {
means?
It is a unary "+" operator which yields a numeric expression. It would be the same as d*1
, I believe.
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);
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.