强制类型转换:
- 指将一个数据类型强制转换为其他的数据类型
- 类型转换主要指,将其他的数据类型,转换为 String Number Boolean
将其他的数据类型转换为String:
方式一:
调用被转换数据类型的toString()方法
该方法不会影响到原变量,它会将转换的结果返回
但是注意:null和undefined这两个值没有toString()方法,
如果调用他们的方法,会报错
方式二:
调用String()函数,并将被转换的数据作为参数传递给函数
使用String()函数做强制类型转换时,
对于Number和Boolean实际上就是调用的toString()方法
但是对于null和undefined,就不会调用toString()方法
它会将 null 直接转换为 "null"
将 undefined 直接转换为 "undefined"
方式三:
隐形类型转换
根据任何值和字符串相加都会转换为字符串的特点,可以为
任意的一个数据 + 一个 " " (空串)即可将其转换为String
将其他的数据类型转换为Number
转换方式一:
使用Number()函数
字符串 --> 数字
1.如果是纯数字的字符串,则直接将其转换为数字
2.如果字符串中有非数字的内容,则转换为NaN
3.如果字符串是一个空串或者是一个全是空格的字符串,则转换为0
布尔 --> 数字
true 转成 1
false 转成 0
null --> 数字 0
undefined --> 数字 NaN
转换方式二:
这种方式专门用来对付字符串
parseInt() 把一个字符串转换为一个整数
parseFloat() 把一个字符串转换为一个浮点数
转换方式三:
任何值在做 - * / 运算时都会自动转换为Number
利用这一点,通过一个值-0,*1,/1将其转换为Number
一元运算符正号(+)负号(-)对非Number的值,会先将其转换为Number的值在计算,
可以对其他的数据类型使用正号(+),将其转换为Number
将其他的数据类型转换为Boolean
使用Boolean()函数
数字 ---> 布尔
除了0和NaN,其余的都是true
字符串 ---> 布尔
除了空串,其余的都是true
null和undefined都会转换为false
对象也会转换为true
采用非运算来进行布尔值的转换
如果对非布尔值进行运算,则会将其转换为布尔值,然后取反
可以将一个任意数据类型取两次反,转换为布尔值