在我的JS数据类型(一)中介绍了7种JS的基本类型,这次就说一下JS几种数据类型的转换。
其他类型转String
类型
方法一:
toString()方法
1 | //数字类型转String |
null
类型 和 undefined
类型在方法一种会报错
方法二:
window.string()
1 | window.string(1) // "1" |
window.string()方法可以将null
和undefined
类型转换为字符串。
方法三:
其他类型
+’’
1 | 1 + '' // "1" |
方法三是方法二的简化版,浏览器会尝试把第一个值变为字符串与空字符串相加,得到的结果就是字符串,方法三在对null
和undefined
转换时不会报错。
将其他类型转换为Number
类型
方法一:
Number():
1 | Number('1') // 得到数字 1 |
这里要特别说明一下 为什么Number(011)
得出的结果是11而不是9,这是JS的一个BUG。
方法二:
parseInt(string,radix)方法:
1 | parseInt('1',10) // 得到数字 1 |
parseInt()
方法可以用来进制间的转换,同时可以将String
转换成Number
类型。
方法三:
parseFloat(value)
1 | parseFloat('1.1') // 得到数字 1.1 |
parseFloat()方法可以用来转化小数。
方法四:
‘String’ - 0
1 | '1' - 0 // 得到数字 1 |
方法五:
- ‘String’
1 | +'1' // 得到数字 1 |
注意所有的将String方法转为Number类型必须是’数字’的形式如’1’、’1.1’、’1.1e2’,如果是其他字符串’true’、’a’、’b’,都会转换成NaN。
其他类型转Boolean
类型
直接取反2次就可以将其他类型转换成Boolean
类型
1 | !!0 // false |
只需记住6个假值分别是false
、null
、undefined
、''
(空字符串)、NaN
、0
,这6个假值,其他一切都是真值。
这就是我总结的几种类型之间的转换方法。
__END__