JavaScript中=== 和 ==的区别
JavaScript中===就是全等的意思(值的大小和类型相等) ==就是等于的意思(只是值相等不包括类型,因为if判断会存在隐式转换把字符串转变成数值类型)
例如:
<script>
//js部分
let a=10;let b="10";
if(a==b){
console.log("a和b==成立");
console.log(typeof b);
}
</script>
这例子会在控制台打印出a和b==成立。 以及b的类型 是string 这是因为if语句判断时候把b的字符串10转变成数字10
所以==有时候判断并不严谨
假如==改成===判断结果会很不一样
例如:
<script>
let a=10;let b="10";
let c=10;let d=10;
if(a===b){
console.log("a和b===成立");
console.log(typeof b);
}
if(c===d){
console.log("c和d===成立");
}
</script>
结果a===b不成立,c===d成立,是因为===是指全等(该例子中变量c和d都是数值10)