私はjavascriptで次のコード行を持っています:
q && (c = q === "0" ? "" : q.trim());
どういう意味ですか?空の文字列または q.trim() の結果に等しいことは理解してcいますが、どういう意味q && ()ですか?
私はjavascriptで次のコード行を持っています:
q && (c = q === "0" ? "" : q.trim());
どういう意味ですか?空の文字列または q.trim() の結果に等しいことは理解してcいますが、どういう意味q && ()ですか?
JavaScript はブール式を最適化します。qisの場合false、式の右辺は結果に関係ないため、まったく実行されません。したがって、これは次の短い形式です。
if( q ) {
    c = q === "0" ? "" : q.trim()
}
これは、未定義/null/false 変数に対するガードです。
qが定義されていない場合、falseまたは に設定されてnullいる場合、コードは短絡し、エラーは発生しません。null.trim()
別の書き方は次のようになります。
if(q) {
  c = q === "0" ? "" : q.trim();
}
この種の句を使用して、q が定義されているかどうかを確認できます。