Why and How JavaScript Developers Use Linters