基本定义:将其他类型转换为指定类型的函数,如:Boolean()、Number()、String()。
一、Boolean()
可以对任何类型的值调用,总会返回一个布尔值
基本用法:
let msg = 'hello world!'
const msgBool = Boolean(msg)
console.log(msgBool)//true
转换规则总结:
1、Boolean类型
- true:true
- false:false
2、String类型
- 任何非空字符串:true
- “”(空字符串):false
3、Number类型
- 任何非零数字值(包括无穷大):true
- 0和NaN:false
4、Object类型
- 任何对象:true
- null:false
5、Undefined
- undefined:false
栗子:
流控制语句,如if语句中的条件判断会自动转换为Boolean类型
二、Number()、parseInt()、parseFloat()
Number()可以把任何数据类型转换为数值
parseInt()、parseFloat()专用于把字符串转换为数值
转换规则总结:
1、Boolean
- true:1
- false:0
2、Number
- 只是简单地传入和返回
3、null
- 返回0
4、undefined
- 返回NaN
5、String
- 字符串中只包含数字:相同大小的数值
- 字符串中只包含有效浮点型数值:相同大小的浮点数值
- 字符串中只包含有效十六进制数值:相同大小的十六进制数值
- “”(空字符串):0
- 其他:NaN
6、Object
- 先调用对象的valueOf()方法,再按上述规则转换为数值;
- 如果使用valueOf()返回了NaN,再调用对象的toString()方法,然后按上述规则转换为数值
三、String()
几乎每个值都可以通过toString()方法进行转换,但是null和undefined值没有,因此可以使用String(),转换规则:
- 如果值有toString()方法,则调用toString()
- null:“null”
- undefined:“undefined”