本文适合JavaScript初学者。
一元正号介绍
一元正号运算符(+)位于其操作数前面,计算其操作数的数值,如果操作数不是一个数值,会尝试将其转换成一个数值。 尽管一元负号也能转换非数值类型,但是一元正号是转换其他对象到数值的最快方法,也是最推荐的做法,因为它不会对数值执行任何多余操作。
转换字符串
一元正号可以用于转换数值字符串为数字,比如如下代码:
+ "123" // 123
+ "12.3" // 12.3
也可以转换二进制、16进制数值、自然底数的字符串:
+ "0x11" // 17
+ "0b11" // 3
+ "1e10" // 10000000000
看起来 和parseFloat功能类似,但是parseFloat支持字符串后面部分不为数字的情况,一元正号却不行,比如:
parseFloat("1px") // 1
+ "1px" // NaN
如果是空字符串或者多个空格组成的字符串,一元正号会转换为0,parseFloat 结果为NaN
+ ' ' // 0
parseFloat(' ') // NaN
负数形式字符串也可以转换成数值,但是对于十六进制 二进制不适用,对于自然底数适用(parseFloat 都适用):
+'-123' // 123
+ "-0x11" // NaN
+ "-0b11" // NaN
+ "-1e10" // -10000000000
转换日期对象
一元正号转换日期对象为数字,得到时间戳,比如如下代码:
+ new Date(); // 1561020101609
相当于如下代码:
new Date().getTime(); // 1561020101609
转换null、undefined、NaN
一元正号会把null转换为0,undefined 转换为NaN。一元正号施加于NaN,结果还是NaN。代码如下:
+ null // 0
+ undefined // NaN
+ NaN // NaN
转换布尔值
一元正号会把true 转换为1,false转换为0:
+ true;// 1
+ false;// 0
转换数组
一元正号会把空数组[],转换为0。如果数组只有一个元素,切第一个元素为数字或者字符串,会对第一个元素进行转换,如果有多个元素,返回NaN,代码如下:
+ []// 0
+ ['123'] // 123
+ [true] // NaN
+ [1,2] // NaN
总结
一元正号运算符对于数字字符串和日期的转换比较适用。
欢迎关注公众号“ITman彪叔”。彪叔,拥有10多年开发经验,现任公司系统架构师、技术总监、技术培训师、职业规划师。熟悉Java、JavaScript。在计算机图形学、WebGL、前端可视化方面有深入研究。对程序员思维能力训练和培训、程序员职业规划和程序员理财投资有浓厚兴趣。
ITman彪叔公众号
相关推荐
JavaScript中的“一元正号运算符”(+)是一个简单的但功能强大的运算符,它可以用于提升操作数的数值,特别是当处理数据类型转换时。在本文中,我们将深入探讨一元正号运算符的工作原理,以及它如何在不同场景下...
一元运算符则有正号(+)和负号(-),以及用于变量自增(++)和自减(--)的前缀和后缀形式。在自增自减运算符中,如果单独使用,则前缀和后缀形式结果相同;如果参与其他运算,则先进行自增自减,再进行其他运算。...
负号运算符 `-`和正号运算符 `+`则分别用于求负和保持原值。关系运算符如`==`、`===`、`!=`、`!==`、`、`>`、`和`>=`用于比较两个值的相等性或大小关系。`in`运算符检查值是否在数组中,`instanceof`则判断对象是否...
2. **一元正号运算符**: - 当加号放在一个变量或数值之前时,表示取正值。 - 示例:`var n = 10; var n2 = +n;` 这里的“+”表示取正值,`n2`的值仍然是10。 3. **数值相加**: - 当加号用于两个数字之间时,...
再来说说一元非运算符,包括负号(`-`)和正号(`+`)。虽然它们主要用作数学运算,但也可以影响变量的类型转换。 - 负号(`-`):它将数字变为相反数,或者在非数字前面使用时,会尝试将变量转换为数字,然后取其...
在JavaScript编程语言中,一元操作符是一种特殊的运算符,它们仅接受一个操作数并返回一个新值。一元操作符分为前置和后置两种形式,通常用于改变或检查变量的值。本压缩包文件包含了一个名为`main.js`的JavaScript...