スクリプト言語「JavaScript」

JavaScript
用途ウェブスクリプティング
実行インタプリタ
日本語不得意
対応環境汎用
入手ブラウザ内蔵

一気に流行した「遊べる」言語

JavaScript については、よく知っている人も多いだろう。 Netscape Navigator が最初に採用したスクリプト系の言語で、 それまでは「動かない」ものだった HTML 文書に「命を吹き込む」ために Web 上の あちこちで使われている。

後を追って Microsoft Internet Explorer でも JScript が 採用された。これは、JavaScript とほぼ互換のスクリプト言語だが、 COM オブジェクトを利用する機能を追加。また、基本的な文法や動作にも違いがあり、 実際には両方でまともに動くスクリプトを書くのは大変だ。

両者の違いをなくすべく標準仕様 ECMA-262 (ECMAScript) や 文書オブジェクトモデル (DOM) が策定されたが、現実はまだ厳しい。

JavaScript 関連サイト

devhead JavaScript [英語]
アメリカの ZDNET のワンコーナー。 入門用テキストから最新ニュース、関連製品の紹介などと盛りだくさんです。
Netscape Navigator
JavaScript に対応したウェブブラウザ。
DevEdge Online - JavaScript Developer Central [英語]
Netscape が提供する開発者向けサイト。JavaScript の仕様書やツールの紹介などがある。
一撃必殺 JavaScript 日本語リファレンス
古籏一浩さんによる、 OpenSpace Home Page< の ワンコーナー。FAQ や Tips、解説、リンクなども。 質が高く、「The BASIC」誌の記事で無断引用された (!) ほどである。 見る側の立場にたったページ構成が嬉しい。
HIROSHI.T's HomePage
JavaScript で作った実用プログラムを公開している HIROSHI.T さん のサイト。 JavaScript には「機種に依存しないプログラムを作る」という使いみちもあるのです。

このほかにもご存知の方は、ご一報ください

Hello World!

伝統にのっとって、「表示する」だけの簡単なスクリプトを紹介しよう。 まぁ、何事も基本は大事。

JavaScript にはウェブページに組み込む「クライアントサイド」での利用や、 CGI のように使う「サーバサイド」での利用があるが、ここで扱うのは クライアントサイドの方。Netscape Navigator か、 Microsoft Internet Explorer で実行できる。

JavaScript で「表示する」というと、いろんなやり方があるが、 まずはカンタンなものから。次のような HTML 文書を作って、ブラウザで開いてみよう。

   <html>                               
   <head>                               
   <title>Hello</title>                 
   </head>                              
                                        
   <body>                               
   <script type="text/javascript">      
   <--                                  
   alert("Hello, JavaScript World!");   
   //-->                                
   </script>                            
   </body>                              
   </html>                              
[図 1: GIF 画像/3.1KB]

HTML 文書を保存し直して、ブラウザで開くと、だいたいこんな感じの ウィンドウが出る (ブラウザによって多少違う)。じっくり鑑賞したら、 "OK" を押してウィンドウを消す。

「あれ? 出なかった。ブラウザは対応してるはずなのに」という場合は、 JavaScript を実行しないようにブラウザが設定されている。 メニューから設定画面を呼び出して、実行するように設定し直せば OK。 「再読込」すれば、ほら出たでしょ。


次は、HTML 文書の中にメッセージを「潜り込ませる」方式。 適当な HTML 文書の、body 要素 (<body> と </body> で 挟まれている部分) の中の適当な場所に、次のように書き込む。 場所によってはうまく動かないので、できれば、<p> の直前などがいい。

   <script type="text/javascript">                        
   <--                                                    
   document.writeln("<p>Hello, JavaScript World!</p>");   
   //-->                                                  
   </script>                                              
[図 2: GIF 画像/7.5KB]

うまく表示されただろうか? 表示する内容をその場その場で変えることも できるから、このテを利用すると、CGI が使えなくても、それに近いことができる。 しかも、サーバにイチイチ接続しないから、CGI より高速だ。


最後は、ブラウザの機能に強く依存している例を紹介しよう。 この例では、Navigator の一番下にある「ステータスバー」に言葉を表示するので、 「Navigator なら動く」ことしか保証されていない。実際には Internet Explorer にも ステータスバーはついてるからあまり問題にならないが、どちらのブラウザでも ステータスバーを非表示にできる。というわけで、次の例を実行して楽しむには、 ステータスバーを表示しておく必要がある。準備ができたら、 適当な HTML 文書の適当なところに、次のように書き加える。

   <script type="text/javascript">             
   <--                                         
   window.status="Hello, JavaScript World!";   
   //-->                                       
   </script>                                   
[図 3: GIF 画像/7.5KB]

このテを使ってステータスバーに文字を出しているサイトはよくあるが、その多くが「スクロール」するものだ。以前の Navigator ではステータスバーが固定幅フォントだからいいが、最近では可変幅のフォントなものだから、ガクガクとしてみにくい。個人的には、そろそろやり方を変えたらと言いたくなる。


JavaScript で "ello, World!" をやるには、他にもCGI フォームのボタンや テキストフィールドに表示するというものもある。ただし、ボタンへの表示は 古いバージョンの Navigator ではエラーになる。

JavaScript でのプログラミングは、書くのは比較的カンタンで、 いろいろ面白いことができる。プログラミングをちょっとかじってみたい人にもおすすめだ。



Presented by 夏鰯 <sardine@toyfish.net>