When comparing ESLint vs JSLint, the Slant community recommends ESLint for most people. In the question“What are the best JavaScript linting tools?” ESLint is ranked 1st while JSLint is ranked 6th.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Good ES6 support
Pro Highly flexible ruleset
ESLint allows customizing rules for errors, best practices, variable declarations, ES6, style and JS running on Node. Additionally, custom rules can be applied.
Pro Functionality can be extended with a wide variety of plugins
A wide variety of plugins are available on npm's repository.
Pro Clear warnings and error messages
Warnings and error messages are detailed and easy to understand because of the usage of natural language throughout all warnings and messages.
For each message, the rule name is given so you can know what rule is being broken.
Pro JSX support
JSX extends JavaScript's syntax and makes code faster, safer and easier to write than using plain JavaScript. ESLint is actually the only tool of it's kind to support JSX.
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.
Cons
Con Can throw a weird error out of the box
Con Requires some configuration before use
Some options and rules need to be configured before using it. This is done by using JavaScript comments inside the file itself, or through a configuration file which can be either a YAML or a JSON file.
Con The documentation can be a hit or miss
ESLint's documentation is very detailed and helpful in some parts, while in others it gets a little confusing.
For example, the rules list is easy to follow and is grouped into logical categories, while the configuration tutorials can get a little confusing.
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.