JavaScript 一元正号运算符

作者: ITman彪叔 | 来源:发表于2019-06-29 17:10 被阅读0次

本文适合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 一元正号运算符

    本文适合JavaScript初学者。 一元正号介绍 一元正号运算符(+)位于其操作数前面,计算其操作数的数值,如果...

  • JavaScript运算符

    一元运算符 一元运算符,只需要一个操作数+ 正号- 正号不会对数字产生任何影响- 负号- 负号可以对数字进行符号的...

  • java基础篇三(运算符号、表达式与语句)

    一、运算符 赋值运算符:= 一元运算符: +,正号-,负号!,非~:取补码,如下例子: 算数运算符: +,加法-,...

  • swift 和OC语法的差异性总结

    基本运算符 10:00 Swift 的赋值操作并不返回任何值。所以下面语句是无效的: 一元正号符(+)不做任何改...

  • C语言 运算符与表达式

    ###算数运算符:‘+’,‘-‘,’*‘,’/',’%(取余)‘,’+(正号)‘,’-(负号)‘ 算数运算符:%是...

  • 2018-04-17

    JavaScript学习基础 一、操作符 算术运算符+、-、*、/、%; 一元运算符:++ 自增-- 自减前置运算...

  • js:一元运算符、自增和自减、逻辑运算符、赋值运算符、关系运算符

    一元运算符:只需一个操作数 +正号:不会对数字产生影响 -负号:对数字进行符号取反 对非Number类型值,会先转...

  • java3传媒总结

    1:运算符(掌握) (1)算术运算符 A:+,-,*,/,%,++,-- B:+的用法 a:加法 b:正号 c:字...

  • Java基础之运算符(4)

    1、在Java中运算符可以分为算数运算符、赋值运算符、比较运算符、逻辑运算符和位运算符。 2、算数运算符:+(正号...

  • java基础

    1.符号 注意:运算符都是有结果的。 算术运算符 +正号,-负号 +,- ,* ,/,%,加减乘除取模 ++自增(...

网友评论

    本文标题:JavaScript 一元正号运算符

    本文链接:https://www.haomeiwen.com/subject/ghcjqctx.html