私が何かをしreturn a ? b : c;
たり、return a && a2 && a3;
正当なものとして評価されreturn a
、残りを評価する直前に関数が返されることはありますか?
私が何かをしreturn a ? b : c;
たり、return a && a2 && a3;
正当なものとして評価されreturn a
、残りを評価する直前に関数が返されることはありますか?
return
式ではなくステートメントです。ですから、あなたが思うように誤解されることは決してありません。
ステートメントは常に形式return [some expression];
です (式はオプションです)。式が存在する場合は、最初に評価され、その値が関数の戻り値にバインドされます。
これを明確にするために、質問を少し言い直します。
return a ? b() : c();
return a && a2() && a3();
最初のケースでは、 または のいずれb
かc
が呼び出されますが、もう一方は呼び出されません。
2 番目のケースでは、a
が false の場合、どちらa2
もa3
呼び出されません。a2
false を返す場合、a3
呼び出されません。