Can anyone tell me why and how the expression 1+ +"2"+3
in JavaScript results in 6
and that too is a number? I don't understand how introducing a single space in between the two +
operators converts the string to a number.
Using +"2"
casts the string value ("2"
) to a number, therefore the exrpession evaluates to 6
because it essentially evaluates to 1 + (+"2") + 3
which in turn evaluates to 1 + 2 + 3
.
console.log(1 + +"2" + 3);
console.log(typeof "2");
console.log(typeof(+"2"));
If you do not space the two +
symbols apart, they are parsed as the ++
(increment value) operator.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With