一元加号(+)是 JavaScript 中最简洁的字符串转数字方式,适用于纯数字字符串,能自动处理正负号和小数点,但遇到非法开头字符返回 NaN,空字符串和纯空格转为 0,行为类似 Number() 而不同于 parseInt()。

一元加号(+)是 JavaScript 中最简洁的字符串转数字方式之一,适用于纯数字字符串,能自动处理正负号和小数点。
一元加号怎么用
在字符串前直接加一个 + 符号即可:
-
+"123"→123(整数) -
+"-45.6"→-45.6(负小数) -
+".75"→0.75(省略整数位的小数) -
+"0"→0
哪些字符串能成功转换
一元加号会尝试解析字符串开头的数值部分,遇到非法字符就停止,剩余部分被忽略;若开头就不合法,结果为 NaN:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
-
+"123abc"→123(只取前面有效数字) -
+" 42 "→42(自动去除首尾空格) -
+"abc123"→NaN(开头非数字) -
+""→0(空字符串转为 0) -
+" "→0(纯空格也转为 0)
和其它转换方式的区别
相比 Number()、parseInt() 或 parseFloat(),一元加号更轻量,但行为略有不同:
立即学习“Java免费学习笔记(深入)”;
- 和
Number(str)行为几乎一致,都是严格按整个字符串转数值 - 不同于
parseInt("123px")(返回123),+"123px"返回NaN - 不支持进制参数(如
parseInt("10", 16)),仅用于十进制
使用时要注意什么
虽然方便,但需注意隐式转换带来的潜在问题:
- 如果字符串可能为空、null、undefined 或含干扰字符,建议先校验再转换,避免得到
NaN -
+null是0,+undefined是NaN,+""是0,这些边界行为要心里有数 - 在需要明确意图或团队协作的代码中,有时显式写
Number(str)可读性反而更好

















