JavaScript的转换类型
javascript 是一门弱类型的语言
在将类型转换前需要知道JavaScript中的数据类型
数据类型
五种包含值的数据类型:
- 数字(number)
- 字符串(string)
- 布尔 (Boolean)
- 对象(object)
- 函数(function)
两种不包含值的数据类型:
- Undefined
- null
三种对象类型:
- 对象(object)
- 日期(Date)
- 数组(Array)
类型转换
常用转成字符串:
- String() 【强制整段转换】
- toString() 【拥有基模式】
String() 与 toString最大的区别:
一个是全局,一个是方法
但是toString()不可以转换 null 和 Undefined 【由于强制整段转换String()不会报错,直接输出Null、Undefined】
常用转成数字:
- parseInt() 【拥有基模式】
- parseFloat()
- Number() 【强制整段转换:只要有一点不能转换,就输出NAN】
常用转换布尔:
- Boolean() 【强制整段转换】
遵循规则:
1.所有对象的布尔值都是true,甚至连false对应的布尔对象也是true。
2.空对象 { } 和空数组 [ ] 也会被转成true;
3.以下都是会转换成false:0、undefined、‘ ’ 、 NaN、 Null
Boolean(0) //false
Boolean(undefined) //false
Boolean(' ') //false
Boolean(Null) //false
Boolean(NaN) //false
///
Boolean(new Boolean(false)) //true
Boolean({}) //true
Boolean([]) //true
js的弱类型一元运算符转换类型
- 当对非number类型的值进行运算(-, *, /, %)时,会将这些值先转换成number再运算,加法’+'运算除外;
- 当对非number类型(string, object)的值做加法(+)运算时会将这些值先转换成string再做拼接而不是相加
- number类型的值与NaN做运算都是NaN