文字列が空の場合にステートメントを実行できます。付ける事で真となる場合があるようです。私の行った実験ではどうもうまく行かないようです。明確にtrueかfalseの値を欲しい時に使う事もあります。undefined、IEではオブジェクトがはいります。その値を取り出してるわけです。いった使い方が必要になるケースもあります。値や式を比較した結果をブール値で返す。真(true)、等しくなければ偽(false)を返します。基本的には、expression1が比較対象、expression2が参照する値です。いう条件文になります。自動変換が行われます。数値として比較されています。真であるか?と言う問いかけと同じ事です。