undefiend値を持つ変数を比較しています。これは真(等しい)になります。null値に関しては、nullとundefinedと同じとして扱われます。netscapeでは成り立つと思います。undefinedと言う値ではない、、かもしれません。実験では無視されました。その後(確認済みはIE6から)では、成立しています。$stringが文字列型だと思ってください。数値型のままでNaNという状態になります。特殊なのでこの式では成り立たないと評価されます。NaNかどうか?を調べるにはisNaN()を使うか文字列に変更してやって文字比較すれば可能です。'NaN'){}こうすれば、式はなりたちます。』と言っても、数値であったり文字列であったり、ブール型であったりと様々です。様に使う事も可能と言えば可能ですが、これは多分記述者の目的と違う事を意味するかもしれません。これが真か偽かが評価されます。次にこの『結果』とcを比較します。