When comparing JSLint vs JSHint, the Slant community recommends JSLint for most people. In the question“What are the best plugins for Sublime Text?” JSLint is ranked 18th while JSHint is ranked 35th. The most important reason people chose JSLint is:
Since it's relatively old (it was made in 2002) and made by Douglas Crockford, considered a JavaScript God by many JavaScript programmers. It was created to enforce what in Crockford's experience are the good parts of JavaScript. This means that it's considered by many the best way to enforce the highest standards in JavaScript.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Enforces a very high standard
Since it's relatively old (it was made in 2002) and made by Douglas Crockford, considered a JavaScript God by many JavaScript programmers. It was created to enforce what in Crockford's experience are the good parts of JavaScript. This means that it's considered by many the best way to enforce the highest standards in JavaScript.
Pro No setup required
JSLint comes preconfigured and ready to be used.
Pro Customizable ruleset
Since it's creation, JSHint was created to be a more configurable version of JSLint (it's actually a fork of JSLint itself). Every rule is configurable through a configuration file.
Pro Comes with support for many librariers
JSHint supports libraries like QUnit, NodeJS, jQuery, Mocha out of the box.
Pro Basic ES6 support
Basic ES6 support is included.
Cons
Con Highly opinionated
JSLint has a very strict, dogmatic ruleset that cannot be changed or warnings turned off. So much so that rarely any code will pass JSLint tests. It's reasonable to evaluate if all warning are worth changing.
Con Difficult to know which rule is causing which error
Since you can't edit the rules and it's not programmed in a way to display the rule that's being broken, it's difficult to understand which rule has been broken.
Con No way to support ESnext
Con No way to support ESnext
There's no support for ESnext available.
Con Difficult to know which rule is causing an error
Because it does not display the rule name that is being broken, it's difficult to know which rule is actually causing the error.