一元加運算子()

一元加(+)在其運算元之前,並計算其運算元。它嘗試將運算元轉換為數字(如果尚未轉換)。

句法:

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