Javascript に関する Mozilla Developer Network のページを読んでいて、ある行に混乱しています。問題の説明と行は次のとおりです。
&& と || 演算子は短絡論理を使用します。つまり、2 番目のオペランドを実行するかどうかは最初のオペランドに依存します。これは、属性にアクセスする前に null オブジェクトをチェックするのに役立ちます。
var name = o && o.getName();
ここでの私の混乱は、おそらくスニペットの目的は次のことを実行することです。
var name;
if (o){
name = o.getname();
}
ただし、ここで起こっていることは、名前にブール値が割り当てられており、そのブール値が「o が存在し、その名前が空ではない」ことです。つまり、私には次のように見えます。
var name = false;
if (o && o.getname()){
name = true;
}
ありがとう!