問題タブ [short-circuit-evaluation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
7 に答える
1338 参照

php - PHP での複数の関数のブレークアウト (短絡)

PHP で複数のネストされた関数を返したい。「break」の後に数字を追加することで、複数のループから抜け出すことができます。例えば。

一連の関数を呼び出している間にサーキット ブレークを行うことはできますか?

0 投票する
3 に答える
6924 参照

python - 短絡評価を防ぐには?

これは、Django プロジェクトに取り組んでいるときに発生した問題です。フォームバリデーションについてです。

Django では、送信されたフォームがある場合is_valid()、対応するフォーム オブジェクトを呼び出して検証をトリガーし、ブール値を返すことができます。したがって、通常、ビュー関数内に次のようなコードがあります。

is_valid()フォーム データを検証するだけでなく、後でユーザーに表示できるエラー メッセージをフォーム オブジェクトに追加します。

1 つのページで 2 つのフォームを一緒に使用し、両方のフォームに有効なデータが含まれている場合にのみデータを保存したいと考えています。つまりis_valid()、コードを実行してデータを保存する前に、両方のフォームを呼び出す必要があります。最も明白な方法:

論理演算子の短絡評価のために機能しません。form1が有効でない場合はform2評価されず、エラー メッセージが表示されません。

これはほんの一例です。私の知る限り、他の言語 (つまり Smalltalk) のようにand/に代わる貪欲な方法はありません。orその問題がさまざまな状況で発生することは想像できます (Python だけでなく)。私が考えることができる解決策は、すべての種類の不器用です (ネストされたifs、戻り値をローカル変数に割り当て、それらをifステートメントで使用する)。この種の問題を解決するためのpythonicな方法を知りたいです。

0 投票する
1 に答える
228 参照

javascript - JS 短期評価は async/await で動作しますか?

このスニペットでは、getFirst()真の値を返す場合getSecond()は評価されないことはよく知られています。

ただし、非同期関数にも同じことが当てはまるかどうかは興味があります。

2 番目の promise を開始しますか、それとも最初の promise が最初に解決されるのを待ちますか?