javascriptで省略形のif-elseを記述しているときに、構文エラーが発生します。これが私のコードです:
data && data.cod == '404' && return;
通常のifを使用すると正常に動作しますが、以下のようになります。
if(data && data.cod == '404') {return};
var temp = data && data.main && data.main.temp;
//Code here...
のように三項演算子を使用すれば問題なく動作しますreturn (data && data.cod == '404')?'true':'false';
が、条件付きで「リターン」を探しています。それ以外の場合はさらに続行します。
あなたがしようとしているのは、構文規則の違反です。
return
キーワードはの初めにのみ使用することができますreturn文
でdata && data.cod == '404' && <something>
配置できるの<something>
は、ステートメントではなく式だけです。あなたはreturn
そこに置くことはできません。
条件付きで戻るには、適切なif
ステートメントを使用します。
if(data && data.cod == '404') {
return;
}
副作用のあるコードを実行するための「賢い」方法として、あなたがしようとしているようなショートカットを使用しないことをお勧めします。条件演算子とブール演算子の目的は、値を生成することです。
良い:
var value = condition ? valueWhenTrue : valueWhenFalse;
悪い:
condition ? doSomething() : doSomethingElse();
言語で許可されている場合でも、これを行うべきではありません。これは条件演算子の目的ではなく、コードを理解しようとする人々にとっては混乱を招きます。
そのための適切なif
ステートメントを使用してください。それが目的です:
if (condition) {
doSomething();
} else {
doSomethingElse();
}
本当に必要な場合は、1行にまとめることができます。
if (condition) { doSomething(); } else { doSomethingElse(); }
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加