ie programming 02 メッセージボックスを表示させよう

前回は、数式を入力して、ブラウザに計算をしてもらった。今度は文字の表示をやってみよう。

プログラミング言語は、本来、文字と数字を区別して扱う。前回の例で計算を行ったけれど、数字のままではそれを画面に表示することができない。だから表示の際には、データを文字として扱わなければならないのだ。
つまり、前回のコード

javascript:1+2;

には、「数字として1+2という計算をした後で、結果の3を文字に変換する」というからくりが背後にあったわけだ。これはJavaScript言語の仕組みが自動的に行ってくれている作業である。(補足1

では「1+2」という文字の連なりを表示したい時はどうすればいいのか。最初から文字として扱ってほしい場合は、"(ダブルクォート)で前後をくくる。

javascript:"1+2";

どうだろう。意図したとおり、「1+2」と表示されたはずだ。もちろん、

javascript:"やっほー!!";

などとすることもできる。(補足2

ところで、毎回真っ白な画面が表示されてしまうのは何かと不便だ。そこで、メッセージボックスの中に文字を表示させてみよう。

javascript:window.alert(1+2);
javascript:window.alert("やっほー!!");

ここで、「window.alert( )」というのが一つの命令だ。

「alert( )」のようなもののことを、JavaScriptでは「メソッド」という。
カッコのなかに何かを入れてやると、それに見合った処理をしてくれる命令、それがメソッドだ。メソッドには色々な種類のものがあるので、今後そのうちの一部を紹介していくことにする。

次に、「alert( )」の前についている「window.」は何だろうか。
windowは、alertメソッドの持ち主(動作の主体)だ。この主体のことを、オブジェクトという。もっと厳密に説明すると、オブジェクトとは「メソッドとその他の処理、状態がまとめて記述されているプログラム上の集合体」という感じだろうか。これも色々なものが用意されている。

なんだかちょっと難しげな説明になってしまったので、こう考えてほしい。
「window」はwindowさんという人である。さっきの文「window.alert("やっほー!!");」を人間っぽく言えば、「windowさん、"やっほー!!"をalertしてください」という依頼(あるいは命令)になるわけだ。

実は、「window.」という部分は省略できることになっている。windowはJavaScriptの世界ではとても基本的なオブジェクトなので、書かなくてもそのコードがwindowに向けられたものであることは分かりきっているのだ。
日本語で一人称が省略されがちなのと同じかもしれない。違いは、プログラミング言語の表現は基本的にすべて命令なので、一人称がないことだ。



補足1
CやJava(JavaScriptとは別物)といった言語では、この変換を明示的に指示してあげないといけない。こういった言語を「型に厳密な言語」などという。

補足2
ブラウザの種類やバージョンによっては、日本語を扱えないらしい。うまく表示されなければ、「javascript:"Hello!"」と入れてみてください。