一元加運算子()
一元加(+
)在其運算元之前,並計算其運算元。它嘗試將運算元轉換為數字(如果尚未轉換)。
句法:
+expression
返回:
- 一個
Number
。
描述
一元加(+
)運算子是將某些東西轉換為數字的最快(和首選)方法。
它可以轉換:
- 整數(十進位制或十六進位制)和浮點數的字串表示形式。
- 布林人:
true
,false
。 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' )