一元加运算符()
一元加(+
)在其操作数之前,并计算其操作数。它尝试将操作数转换为数字(如果尚未转换)。
句法:
+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' )