x == undefined
実際に、-自体と。の2つの値を確認x
しundefined
ますnull
。ただし、宣言されたx
変数がないと、ここでエラーが発生することに注意してください。これを防ぐには、...を使用します。
if (typeof x === 'undefined' || x === null) { ... }
null
しかし、実際には、この警告の本当の意味は、コードの1つのブランチで両方をチェックするべきではないということだと思いundefined
ます。これらは異なる値であるためです。
ただし、これについて安全だと思われる場合は、オプションを使用して、JSHintでこれらの特定のチェックをオフにすることができeqnull
ます。それで...
if (x == null) { ... }
null
...との両方をチェックしますがundefined
、警告はトリガーされません。ただし、== undefined
このオプションでは比較は「カバー」されないことに注意してください。
補足として、アンダースコアのisUndefined
メソッドは興味深いコードです。
_.isUndefined = function(obj) {
return obj === void 0;
};
これは基本的に単純なものと同じですが、1つの特殊なケースをカバーしています。スクリプト内obj === undefined
のの値を上書きすることをお勧めする場合です。コンストラクトは常に「実際の」を返すためundefined
、この関数はこの状況でも正しく機能します。void
undefined