一元加运算符()

一元加(+)在其操作数之前,并计算其操作数。它尝试将操作数转换为数字(如果尚未转换)。

句法:

+expression

返回:

  • 一个 Number

描述

一元加(+)运算符是将某些东西转换为数字的最快(和首选)方法。

它可以转换:

  • 整数(十进制或十六进制)和浮点数的字符串表示形式。
  • 布尔人:truefalse
  • null

无法转换的值将评估为 NaN

例子:

+42           // 42
+"42"         // 42
+true         // 1
+false        // 0
+null         // 0
+undefined    // NaN
+NaN          // NaN
+"foo"        // NaN
+{}           // NaN
+function(){} // NaN

请注意,尝试转换数组可能会导致意外的返回值。
在后台,数组首先转换为它们的字符串表示:

[].toString() === '';
[1].toString() === '1';
[1, 2].toString() === '1,2';

然后,运算符会尝试将这些字符串转换为数字:

+[]           // 0   ( === +'' )
+[1]          // 1   ( === +'1' )
+[1, 2]       // NaN ( === +'1,2' )