久野さん こんにちは。
>kunitahashi@h2.dion.ne.jp:
>[--shouryaku--]
>> var a = '12';
>> var b =  34;
>
>> で、JavaScriptは、a+bは1234、b+aは46を返すということですが、そ
>> うはなりません。なぜなのでしょうか。
>
>  その大嘘はどこに書いてあったものなの? ECMA-262標準では、「+」
>は左辺または右辺の「いずれか一方が」文字列なら文字列連結になりま
>す。だからa+bでもb+aでも起こることは文字列連結で、結果は「'1234'」
>と「'3412'」じゃないですか。
>

お答えありがとうございました。

あれこれ探していて時間が過ぎてしまいました。すいません。
これを見たサイトのページをずっと毎日探していたのですが、
とうとう見つかりませんでした。私にはかなりコンピュータに詳
しい人の書いたサイトのような気がしました。

そこで言っていたのは、JavaScriptというのは他のコンピュータ
言語に比べるとかなりルーズで、変数については特にそうだ、
と書いてありました。他の言語なども知らない私にはもちろん分
かりませんが、記憶をたどって書いてみますと、他の言語では
変数の宣言をするときには、文字列と数字を厳密に区別して
宣言する。そうしなければならない。しかし、JavaScriptはその
へんがルーズにできている。その説明として上のような例が
あげてありました。

[文字列] + [数字] という式があると、JavaScriptは"+"のあと
の数字までも、文字列として解釈して文字列で繋げようとする。
順序を入れ替えてみると、数字を解釈したあとで、JavaScript
は"+"の演算子により加法として解釈して、あとの「文字列」の
数字を加法する。この文字列に数字以外のものが含まれてい
ると、JavaScriptはNaNを返す。・・・

というような説明だったと思います。
やはり、大嘘でしょうか。それとも、初期のバージョンではそう
いう仕様もあったのでしょうか。ネットの先生方が書かれたも
のを拝見していると、前世紀末のかなり古いときにかかれた
文書も多いので。

--
板橋