最近、私はいくつかの JavaScript コードを扱っていて、これを見つけました:
<script type="text/javascript">
window.localStorage&&window.localStorage.clear();
</script>
私はウェブ上で調査を行いましたが、「&&」演算子が制御ステートメントにない場合に実際にどのように機能するかについては何も見つかりませんでした。
誰もがそれがどのように機能するか知っていますか?
最近、私はいくつかの JavaScript コードを扱っていて、これを見つけました:
<script type="text/javascript">
window.localStorage&&window.localStorage.clear();
</script>
私はウェブ上で調査を行いましたが、「&&」演算子が制御ステートメントにない場合に実際にどのように機能するかについては何も見つかりませんでした。
誰もがそれがどのように機能するか知っていますか?
それは次と同じです:
if(window.localStorage){
window.localStorage.clear();
}
値 (または「偽」) を検出する&&
とすぐに短絡します。false
したがって、そうwindow.localStorage
であるfalse
(または「偽」である) 場合、停止します。true の場合、継続して実行されwindow.localStorage.clear()
ます。戻り値は無視されます。
if this code evaluates to a truthy value&&run this code
制御ステートメントの一部であろうとなかろうと、式は式です。この場合、式にはブール演算が含まれます。したがって、最初の部分が の場合、式は 2 番目の部分を評価しtrue
ます。
この場合、 ではないwindow.localStorage
場合にのみclear() メソッドを実行します。window.localStorage
null