Jslint不喜欢!==,似乎更喜欢===,与typeof的关系

5 javascript jslint backbone.js

Unexpected 'typeof'. Use '===' to compare directly with undefined.

    if (typeof exports !== 'undefined') {
Run Code Online (Sandbox Code Playgroud)

这是来自backbone.js的代码.

它似乎不喜欢语法.

如何更改此代码以使jslint.com满意?

the*_*tem 3

看起来 jsLint 期望直接比较而undefined不是使用这个typeof foo === "undefined"技巧。

使用typeof exports === "undefined"会产生相同的错误,但使用exports === undefined会传递 jsLint:

var exports;
var test;

if (exports === undefined) {
    test = "foobar";
}
Run Code Online (Sandbox Code Playgroud)

这是一种更干净的检查方式undefined,并且可能不太容易出现exports === "undefined"或 之类的错误typeof exports === undefined