ショートサーキット、短絡評価って名前をいまさら知った。

論理式のAND((&&論理積))とOR((||論理和))で、左辺で確定する場合に、右辺を評価しない事を、ショートサーキット(短絡評価)っていうらしい。そういえば、以前そんな単語を聞いた事があるような気もします。内容自体はたいした事じゃないんだけど、名前を知ってるとより強く意識できるので、書いておきます。割と常識扱いされてるけど、それゆえに入門書とか解説に登場しないものかも。
言語によらない事だと思いますが、例はjavascriptです。

ANDの場合

var foo = false;
foo && bar;

fooがfalseの時点で、falseが確定するので、barは評価されない。なのでvar barしてなくてもbar is not definedって怒られない。

ORの場合

var foo = true;
foo || bar;

fooがtrueの時点で、trueが確定するので、barは評価されない。以下、同上。

ちょっと余談

var foo = (1 && 0);

ショートサーキットの例を書いてて気がついたけど、JavaScriptって、これでfooはfalseにならないんだね。0が入ってた。左辺の1trueなので、右辺の0が評価されて、それが代入されたってことなのかな?PHPだと、これでfalseが代入されるから便利だったんですけど。PHPが特殊なのかJavaScriptが特殊なのか、どっちだろう?