JS 里的数据类型转换

2018-08-06  本文已影响0人  U17

转字符串 : tostring()

null、undefined 没有tostring 这个api

对象tostring 返回 '[object Object]'

老司机转换成字符串方法:

number + ''  = 'number'

boolean + '' = 'true' or 'false'

obj + '' = '[object Object]'

null + '' = 'null'

undefined + '' = 'undefined'

+  如果一方是字符串 那么另一方也会变成字符串

例如:

1+'1' = '1'+'1'

返回'11'

String() 与 + '' 一样强大

转换为布尔:

boolean()

0为false 其他数字为true

boolean('') 返回false

boolean(' ') 返回 true

boolean('字符串') 返回 true

boolean({}) 只要是对象 都是true

老司机写法:

只要给目标 连续取反两次(!!) 就能得到目标的布尔值

只有 [0 NAN  空字符串 null undefined ]  为false  其他所有 都是true

[0 NAN  空字符串 null undefined ] 为五个 falsy值

转换为 number

number('1')===1

paeseInt('1',10(表进制))===1

parseFloat('1.23') ===1.23

任何东西 -0 得到number

取正 +'1' ===1

paseInt()只能转换可以转换为数字的类型 如果转换无法转换的字符 会得到NaN

如果部分不能转换的只会返回能转换的部分 不能转换的忽略

上一篇下一篇

猜你喜欢

热点阅读