JavaScriptに挑戦して

 実は私にはJavaScriptに対する偏見が抜き難くずっとありまして、ブラウザごとに仕様が違うために使い物にならないスクリプト言語。せいぜい有効に使うとしてもフォームの入力チェックくらいのもの。結局できることはというと、勝手にウィンドウ開いたりサイズを変えたり、ステータス欄にごちゃごちゃ文字列を流して混乱させたりが関の山で、だから真面目にやるようなこともないだろうと、そんな風に思っていました。

 でも時代はAjaxなんだそうですね。AjaxというのはAsynchronous JavaScript + XMLの略で、ページをリロードしなくても表示結果を変えることのできる非常に使いかってのいいインターフェイスを提供できる手法のことです。で、JavaScriptってのが名前にはいっていることからもわかるように、AjaxにおいてはJavaScriptが大きな役割をはたしています。

 実例はGoogle マップあたりでみてもらうとして、こういった高度なアプローチがとれるようになった背景には、ブラウザのバージョンがあがってJavaScriptの方言の違いが吸収されるなどの変化があったのだろうということで、このへんの事情はCSSをめぐる状況にも似ていますね。Netscape 4あたりが跋扈していた(ファンの人、ごめんなさい)ころには、正直CSSなんて使い物にならなかった。IEも6が出て、Netscapeも6になって、じゃあCSSは使いやすくなったかといったらそういうわけでもなくて、Netscape 4を使っている人もまだまだいたから、簡単にCSSを採用してというわけにもいかず、ブラウザのバグを利用してCSSを振り分けるなんていうことやっていましたね。

 私のJavaScriptに対する印象はこの当時から変わってなくて、まずはブラウザバージョンを判別して、大きくいえばNetscape系とInternet Explorer系のコードを二種類書く必要があって、なんて思っていたのが、もしかしたらひとつのコードで両方に通用するようになってるんじゃないかと思って、これが私がJavaScriptに手を出そうと思ったきっかけです。

 私が最初にJavaScriptを書いたのは職場でのことで、時間を取得して日時によって表現を変更するプログラムを作ったのですが、使い回しが利くようにと関数を作ってやってみたら意外とこれがわるくない印象なんですね。だからJavaScriptも捨てたもんじゃないなあなんて思って、目からうろこが落ちたのです。

 このときはまだDOMを使うなんて考えてなくて、document.write()を使っていました。作った関数というのも、別の関数やルーチンを駆使する必要なんてなかったからシンプルなもの。その後、ゲーム内の授業の時間割を表示するスクリプトなんてのも作ってみて、これがJavaScriptで書いたまとまったプログラムの最初のものになりますね。で、JavaScriptはオブジェクト指向的アプローチも可能だから、そんな風に書いてみて、JavaScript結構使えるじゃんといった感じですっかり見直したのでした。

 余談だけど、スクリプトの説明文書はSunが用意してるJavaのドキュメントを参考にして書いたから、表現がぜんぜんJavaScriptっぽくなかったりして、そもそも用語が違いますからね。でもいいんです。しょせんはパロディなんですから!


わたしの愛した機械へ トップページに戻る

公開日:2006.05.10
最終更新日:2006.05.12
webmaster@kototone.jp
Creative Commons License
こととねは、クリエイティブ・コモンズ・ライセンス(表示 - 継承 2.1 日本)の下でライセンスされています。