Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Suppress "Expected '===' and instead saw '=='." error in jslint

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

like image 977
usertest Avatar asked Jun 11 '11 18:06

usertest


4 Answers

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
like image 131
bubbassauro Avatar answered Nov 05 '22 22:11

bubbassauro


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");
}
like image 11
James Wiseman Avatar answered Nov 05 '22 23:11

James Wiseman


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 */
like image 6
Pradeep Potnuru Avatar answered Nov 05 '22 23:11

Pradeep Potnuru


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.

like image 4
Matthew Crumley Avatar answered Nov 05 '22 23:11

Matthew Crumley