Suppress “Expected '===' and instead saw '=='.” error in jslint

后端 未结 5 1591
轮回少年
轮回少年 2020-12-29 19:25

How can I stop the error message Expected \'===\' and instead saw \'==\'. from appearing in jslint. Doesn\'t seem to be an option.

相关标签:
5条回答
  • 2020-12-29 20:02

    same error show me I can fix by using this way

    status.user_profile.toString() === props.props.id.toString() 
    

    I'm using react js give example I'm using something like that

    id = 1
    

    if I excess params show me like this

    params :{ id:"1" }
    

    If I excess this way

    id == params.id // output true
    

    If I excess this way

    id === params.id // output false
    

    because not 100% eqality so show me error in terminal

    Expected '===' and instead saw '=='
    

    So I can think about and fix it by converting same data type like this

    id.toString()  === params.id.toString()  // return true
    
    0 讨论(0)
  • 2020-12-29 20:04

    For those using JSHint, you can turn off this warning by setting the option eqeqeq to false in your JSHint options (usually .jshintrc)

    "eqeqeq": false
    

    From the documentation: http://jshint.com/docs/options/#eqeqeq

    Edit:

    If you want to be a good citizen and fix your code to use the recommended comparison instead of turning the warning off, make sure both sides of the comparison are using the same type.

    For example:

    "123" == 123          // true, I'm lazy and JSHint hates me
    "123" === 123         // false, no love
    Number("123") === 123 // true, no warning
    
    0 讨论(0)
  • 2020-12-29 20:05

    Although its late its worth, it would help some one who is in need

    To disable use -

    /* eslint eqeqeq: 0 */
    

    To make it as warning use -

    /* eslint eqeqeq: 1 */
    
    0 讨论(0)
  • 2020-12-29 20:13

    This is pretty hot off the press.

    Douglas Crockford has just added an 'eqeq' option to the JSLint tool.

    See one of the June 12, 2011 edits on GitHub:

    https://github.com/douglascrockford/JSLint/commits/2e8d430b5b9543caefb3743513181f1295f52ddf/jslint.js

    Ad the time of writing it hadn't been updated on the JSLint front page, but i've tested it with the following and get no == related warnings:

    /*jslint eqeq: true*/
    var x = 0;
    if (x == 1) {
        alert("test");
    }
    
    0 讨论(0)
  • 2020-12-29 20:21

    You are correct that there is no option for that. The only way is to either use === or modify the source code. I almost always use === anyway. It's better in general unless you know that == is really what you want.

    0 讨论(0)
提交回复
热议问题