質問: javascriptの論理演算子&&は、左辺が偽であれば右辺を評価せず、||は、左辺が真であれば右辺を評価しません。 これを遅延評価と呼ぶそうですが、遅延という単語で思い浮かぶのは、「遅れる」こと「長引かせる」ことです。 全くつながりが見出せませんが、何が遅延しているから右辺を評価しないのでしょうか。
回答: たとえば ``` ``` 変数myvarが未設定(もしくは設定したけど削除された)かどうかわからない時 if(myvar==0)的な処理を行うとundefinedなものを評価することになるので そこでプログラムが止まってしまいます。 myvarを評価する前に、typeofでmyvarがundefinedを評価し、未設定であれば myvarを評価しない必要があります。