隐式类型转换
1.Boolean类型与Number类型发生运算时会先转化为Number类型,true为1,false为0
console.log(2+true); //3
console.log(true+2); //3
2.Number类型与String类型发生运算时会先转化为String类型,但会遵循从左到 右的操作顺序
console.log(2+"2"); //22
console.log("2"+2); //22
console.log(2+2+"2"); //42
console.log("2"+1+1+"2"+2); //21122
console.log(2+2+"1"+1+2); //4112
3.条件判断时,==的两边会优先转换为Number类型再进行判断
if ("1"== true) { //true
alert("true");
} else {
alert("false");
}
总结
在日常操作中,隐式类型转换带来诸多不便,所以用===进行条件判断较为合理,它会优先判断数据类型而且不会触发隐式类型转换