私がこのようなものを持っている場合:
var blah = function() { };
その後、コードで何とかが使用されていますが、空のブロックを削除するというJSLintヒントは何ですか?
私がこのようなものを持っている場合:
var blah = function() { };
その後、コードで何とかが使用されていますが、空のブロックを削除するというJSLintヒントは何ですか?
この警告をオフにする JsLint オプションを尋ねている場合は、「debug:true」です。
奇妙なことに、ドキュメントはこの動作について言及していません。
"デバッガー ステートメントを許容する" | デバッグ| デバッガーステートメントを許可する必要がある場合はtrue 。本番環境に入る前に、このオプションをfalseに設定してください。
しかし、コードを見ると、debug オプションが true に設定されていると警告が表示されないことがわかります。
function block(kind) {
// A block is a sequence of statements wrapped in braces.
...
if (kind !== 'catch' && array.length === 0 && !option.debug) {
curly.warn('empty_block');
}
...
}
多くのコード チェッカーが、このようなことをチェックします。空のコード ブロックを使用してはならないという意味ではありません。それらを持っている正当な理由がある場合もあります。しかし、それは多くの場合、プログラマーが実装を書き忘れていることを意味します。:)
私がやりたいのは、関数本体にコメントを入れて、それが空である理由を説明することです。これにより警告は抑制されますが、コード チェッカーがコメント付きのコード ブロックを「空」と見なすかどうかによっては、抑制されない場合があります。
var blah = function() { /* empty because ... */ };
演算子を使用して関数をコンストラクターとして使用する場合new
:
// Returns the instance that was just created with the new operator.
var ClassLikeFunction = function(){
return this;
};
一方、 if は意図的に戻り値のない空の関数です。
// Returns the same value as a function that returned nothing.
var blankFunction = function(){
return undefined;
};
これ
{
...
}
はコード ブロックと見なされ、ヒントはそれが空であることを示しています (コマンドが含まれていません)。ただし、@ Katana314 が言ったように、意図的に削除する必要はありません。