一,前言
1.在js
中某些操作会自动转化数据类型,称之为隐式转换
二,场景
1.==
操作:会将左右两边的数据转化后在比较,例如 0==false
会返回true
。注意同为值判断的===
属于强等于,不会转化数据类型。
2.数字+
字符串,会将数字转化为string
类型进行运算,最终返回字符串 :11+'11' =1111
。
3.字符串参与其他类型的数学运算(不包含+
)会将字符串转化为number
类型进行运算:'11'*2=22
'a'*2=NaN
''*2=0
4.布尔值参与数学运算,会将boolean
转化为number
类,且true=1
,false=0
:true+1=2
false*10=0
5.比较运算符也存在隐式转换:"22" > 11 值为true
6.if
条件里也存在隐式转换:if([]) if(10) 都为true