The unary plus operator
suggest changeThe unary plus (+
) precedes its operand and evaluates to its operand. It attempts to convert the operand to a number, if it isn’t already.
Syntax:
+expression
Returns:
- a
Number
Description
The unary plus (+
) operator is the fastest (and preferred) method of converting something into a number.
It can convert:
- string representations of integers (decimal or hexadecimal) and floats.
- booleans:
true
,false
. null
Values that can’t be converted will evaluate to NaN
.
Examples:
+42 // 42
+"42" // 42
+true // 1
+false // 0
+null // 0
+undefined // NaN
+NaN // NaN
+"foo" // NaN
+{} // NaN
+function(){} // NaN
Note that attempting to convert an array can result in unexpected return values.
In the background, arrays are first converted to their string representations:
[].toString() === '';
[1].toString() === '1';
[1, 2].toString() === '1,2';
The operator then attempts to convert those strings to numbers:
+[] // 0 ( === +'' )
+[1] // 1 ( === +'1' )
+[1, 2] // NaN ( === +'1,2' )
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents