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