不同的 数据 在进行计算中 期待 其他的 数据类型 ,就会自动发生数据类型的转换。
如:
算数运算 期待 转化为 数字(+ - * / %)
比较运算 期待 转化为 数字(> < >= <= == ===)
逻辑运算 期待 转化为 布尔值(&& || !)
一:算术运算
- “+” 比较特殊,如果左右两边有一个是字符串,那么会变成字符串的拼接。
- 其他运算,会先转化为数值类型,后进行算术运算。
i.非数字的值(如abc) 在算数运算中 转化为 数值,会转化为NaN。(NaN的数据类型仍然是数字,蓝色的)
ii.布尔值 在算数运算中 转化为 数值,会转化为 0或1。
iii.null 在算数运算中 转化为 数值,会转化为 0。
iv.undefined 在算数运算中 转化为 数值,会转化为 NaN。
二:比较运算
也会转为数字,方法与算术运算类似。
三:逻辑运算
其他数据类型 在进行逻辑运算的时候,会转换为布尔值。
只有那六个存在会转换为false,其他都会转换为true。
那六个分别为:
“”(空字符串)、0、false、NaN、null、undefined。