强制转换和隐式转换

强制转:通俗理解就是将一种数据类型直接转换成另一种数据类型
1. 转布尔值
null,undefined,'',0等转布尔值均为false
Boolean(null) //false
2. 转字符串
String()/.toString(),
3. 转数字
Number()/ParseInt()/ParseFloat()

算数运算符: +,-,*,/,%,++,--等
赋值运算符: =,+=,-=,/=,%=等
比较运算符: ==,===,!=,!==,>,<,>=,<=等

!=,==,!,>,<,>=,<=,+,-,*,/,%,+=等会进行隐式转换
隐式转换:非干预条件下的类型转换
!=,==:先转换再比较[不比较类型]
转换数据类型规则:
1.如果有一个操作数是布尔值,在比较相等之前先将其转换成数字,false=>0,true=>1
2.如果有一个操作数是字符串,另一个操作数是数值,在比较相等之前先将字符串转换成数值
3.如果有一个操作数是对象,另一个不是,则调用对象的valueOf()方法,得到基本类型,再按照前面的规则进行比较
比较规则:
null和undefined相等
比较相等之前不能对null和undefined进行类型转换
如果有一个操作数是NaN,则相等操作符返回false,不等返回true
对象比较,看是不是指向同一个对象
posted @ 2021-05-31 22:33  文件传输助手01  阅读(167)  评论(0编辑  收藏  举报