项目需求要把数字转为字符串传参,随手在浏览器控台写下2.toString()测试,结果竟然报错了。查了下资料,原来toString()也有要注意的事项
- NaN
Infinity
-Infinity
NaN.toString() // "NaN"
Infinity.toString() // "Infinity"
(-Infinity).toString() // "-Infinity"
关于括号的问题
- 一般来说,变量
number
可以直接调用toString()
let a = 8
a.toString() // "8"
- 但如果toString()前直接写整数,会报错,需要把整数用括号包起来
8.toString() //报错
(8).toString() // "8"
因为整数后的.
无法被识别是小数点的的原因
- 负数也要用括号包起来
-8.toString() // 报错
- 8.3.toString() // -8.3
(-8.3).toString() // "-8.3"
因为运行机制是先运行toString()
,再运行-
,所以又转回了负数
浮点数
2.1.toString() // "2.1"
2.0.toString() // "2"
(2.00000).toStrinh() // "2"