Well, lot of them, although it is often called “compiler with warnings”…
Philippe Lhoste

JavaScript already has a compiler. Otherwise, you could write any kind of junk that is executed at runtime. A linter performs an extra service on top of the compiler, in effect, making up for the compiler’s shortcomings.

While linters may have existed for other languages, none has ever been practically mandated. I’ve used C as the principal language in my 20+ years in IT, and I’ve never needed a linter, nor has anyone suggested I use one.

If IDEs provide a linting service, it’s an optional convenience, not a necessary practice. My brother is a Java veteran and he’s never needed linting.

When I debate JavaScript with other people, one JS dev after another always tells me to use a linter to avoid JavaScript’s crapola. It may not be a necessary requirement according to the ECMA specification, but it is most certain a de facto requirement. Only the most experienced of JS devs would walk the JavaScript tightrope without this safety net.