質問: javascriptにおいて式を使って値を算出すること、つまり演算のことを評価するというみたいですが、パーフェクトjavascript097pによれば、「&&演算子、||演算子、?:演算子の三つを除いてオペランドを演算する前に評価する」とあります。 「演算する前に評価」ということは、前提は違うということでしょうか。それとも演算することも含め、複数の意味があるのでしょうか。演算する前に、式を構成する要素のうち演算子を除いたオペランドを評価するとは、どういう意味なのでしょうか。
回答: わかりにくいですよね。 func1() > func2() だったら、 func1という関数を評価し、func2という関数を評価して、その結果をもって、 この比較演算子の演算を行い、式の評価とするわけです。 この左側のfunc1()はいくつかなというのが 左オペランドの評価を行うというところです。 で、&&演算子の場合は、先に左右の評価を行うわけではなく、 左の評価がfalseならば 右の評価は行わないのです。