JavaScript中==和===的区别

184 阅读1分钟

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

image.png 所以==有时候判断并不严谨

假如==改成===判断结果会很不一样

例如:

<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)

image.png