4

次のような特定の状況で空のifステートメントを残すかどうかを知りたいです。

else if(typeof console === 'undefined'){}

コードに関数の残りの部分をバイパスさせるだけです。これは受け入れられた安全な作業方法ですか、それともこれらの場合に他の推奨プラクティスがありますか?ありがとうございました。

4

5 に答える 5

5

あなたが私に提供してくれた情報から、答えは「いいえ」であることがわかります。それは動作しますが、それは悪いスタイルです。関数の残りの部分をバイパスしたい場合は、バイパスがまったくないように、それに関連するステートメントreturn;にロジックの大部分を入れないでください。if

于 2012-10-10T09:51:08.023 に答える
4

ブランチを空のままにしておくのは問題なく安全ifです。追加するのはコメントだけです。

else if(typeof console === 'undefined')
{
    //explanation why nothing has to go here
}

コードの残りの部分を見ずに、これを「関数の残りの部分をバイパスする」ためにどのように使用しているかわからないので、これを行うためのより良い方法があるかもしれません。

于 2012-10-10T09:51:16.053 に答える
1

処理したくないケースのブロックを記述しないでください。

console存在する場合にのみ何かを実行したい場合は、次のようにします。

if(typeof console !== 'undefined'){
    // your code
}
// else if(typeof console === 'undefined'){}
// you don't need that second part

それとも私はあなたの問題を完全に理解していませんでしたか?

于 2012-10-10T09:54:27.403 に答える
1

Pioulの答えと同じですが、javascriptで存在をチェックするimoは、!! (ではない)演算子。

if(!!console){
    // your code
}
// else if(!console){}
// you don't need that second part
于 2012-10-10T10:01:33.227 に答える
0

デバッグ情報を印刷しておくと便利な場合があります。-

if(typeof console !== 'undefined'){
    console.log("debug info");
}

次に、コードをリリースする前に、すべてのconsole.logをコメントアウトするだけです。

//        console.log("debug info");

これはマクロで実行できます。

空のifステートメントを残します。ただし、これはコンパイルエラーではないため、問題ありません。

行をコメントアウトする場合は、中括弧を使用することが重要であることに注意してください。そうしないと、次の行がifステートメントに依存することになります。

于 2018-06-28T07:32:21.787 に答える