JavaScript Linters - Ensuring code quality JSHint

Help us to keep this website almost Ad Free! It takes only 10 seconds of your time:
> Step 1: Go view our video on YouTube: EF Core Bulk Extensions
> Step 2: And Like the video. BONUS: You can also share it!


JSHint is an open source tool which detects errors and potential problems in JavaScript code.

To lint your JavaScript you have two options.

  1. Go to and paste your code in there on line text editor.
  2. Install JSHint in your IDE.

A benefit of adding it to your IDE is that you can create a JSON configuration file named .jshintrc that will be used when linting your program. This is convent if you want to share configurations between projects.

Example .jshintrc file

    "-W097": false, // Allow "use strict" at document level
    "browser": true, // defines globals exposed by modern browsers
    "curly": true, // requires you to always put curly braces around blocks in loops and conditionals
    "devel": true, // defines globals that are usually used for logging poor-man's debugging: console, alert, etc.
    // List global variables (false means read only)
    "globals": {
        "globalVar": true
    "jquery": true, // This option defines globals exposed by the jQuery JavaScript library.
    "newcap": false,
    // List any global functions or const vars
    "predef": [
    "undef": true, // warn about undefined vars
    "unused": true // warn about unused vars

JSHint also allows configurations for specific lines/blocks of code

   case '+'
      result = a + b;

   // JSHint W086 Expected a 'break' statement
   // JSHint flag to allow cases to not need a break
   /* falls through */
   case '*':
   case 'x':
      result = a * b;

// JSHint disable error for variable not defined, because it is defined in another file
/* jshint -W117 */
globalVariable = 'in-another-file.js';
/* jshint +W117 */

More configuration options are documented at

Got any JavaScript Question?