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
如果部分不能转换的只会返回能转换的部分 不能转换的忽略