次のような特定の状況で空のifステートメントを残すかどうかを知りたいです。
else if(typeof console === 'undefined'){}
コードに関数の残りの部分をバイパスさせるだけです。これは受け入れられた安全な作業方法ですか、それともこれらの場合に他の推奨プラクティスがありますか?ありがとうございました。
次のような特定の状況で空のifステートメントを残すかどうかを知りたいです。
else if(typeof console === 'undefined'){}
コードに関数の残りの部分をバイパスさせるだけです。これは受け入れられた安全な作業方法ですか、それともこれらの場合に他の推奨プラクティスがありますか?ありがとうございました。
あなたが私に提供してくれた情報から、答えは「いいえ」であることがわかります。それは動作しますが、それは悪いスタイルです。関数の残りの部分をバイパスしたい場合は、バイパスがまったくないように、それに関連するステートメントreturn;
にロジックの大部分を入れないでください。if
ブランチを空のままにしておくのは問題なく安全if
です。追加するのはコメントだけです。
else if(typeof console === 'undefined')
{
//explanation why nothing has to go here
}
コードの残りの部分を見ずに、これを「関数の残りの部分をバイパスする」ためにどのように使用しているかわからないので、これを行うためのより良い方法があるかもしれません。
処理したくないケースのブロックを記述しないでください。
console
存在する場合にのみ何かを実行したい場合は、次のようにします。
if(typeof console !== 'undefined'){
// your code
}
// else if(typeof console === 'undefined'){}
// you don't need that second part
それとも私はあなたの問題を完全に理解していませんでしたか?
Pioulの答えと同じですが、javascriptで存在をチェックするimoは、!! (ではない)演算子。
if(!!console){
// your code
}
// else if(!console){}
// you don't need that second part
デバッグ情報を印刷しておくと便利な場合があります。-
if(typeof console !== 'undefined'){
console.log("debug info");
}
次に、コードをリリースする前に、すべてのconsole.logをコメントアウトするだけです。
// console.log("debug info");
これはマクロで実行できます。
空のifステートメントを残します。ただし、これはコンパイルエラーではないため、問題ありません。
行をコメントアウトする場合は、中括弧を使用することが重要であることに注意してください。そうしないと、次の行がifステートメントに依存することになります。