比较字符串时为什么使用===而不是==

这个问题在这里已经有了答案:

  • 应该在JavaScript比较中使用哪个等于运算符(== vs ===)? 50个答案

  • ===运算符确保不仅值相等,而且比较的两个项目也是相同的类型; ==运算符只检查两个项目的值是否相等

    正如评论中提到的@amnotiam,你可能也想看看抽象平等比较算法


    ===用于检查类型值

    var str="300";
    
    //this gt execute
    if(str==="300")
    {
            alert("this alert get executed");
    }
    
    
    //this not execute
    if(str===300)
    {
            alert("this alert not get executed");    
    }
    

    对于==这两个代码是有效的,因为它不检查类型

    //this get execute
    if(str=="300")
    {
            alert("this alert get executed");
    }
    
    
    //this get execute
    if(str==300)
    {
            alert("this alert get executed");
    }
    

    10 == '10'  // true  | check value: 10 equal 10
    10 == 10    // true  | check value: 10 equal 10
    
    10 === '10' // false | check type: int not equal string
    10 === 10   // true  | check type: int equal int, check value: 10 equal 10
    

    检查类型与否。

    链接地址: http://www.djcxy.com/p/3259.html

    上一篇: Why use === instead of == when comparing a String

    下一篇: Javascript Comparison Operators != vs !==