JavaScript The unary plus operator (+)


Example

The 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' )