Search code examples
javascripterror-handlingjslintwebstormuse-strict

Why does JSLint give strict violation error on this function?


JSLint gives me the "strict violation" error, although I use the "this" context inside a function which hides it from the global scope.

function test() {
    "use strict";
    this.a = "b";
}

For the record, I use the built-in JSLint parser in Webstorm.


Solution

  • This is because JSLint doesn't recognize your function as a constructor. By convention, you must use uppercase letters.

    function Test() {
        "use strict";
        this.a = "b";
    }