梅ちゃん堂 > JavaScript 入門 > JavaScript の基礎 >
- オブジェクト -

JavaScript では、オブジェクトを中心としてデータ処理を行います。 オブジェクトとは、いくつかのプロパティやメソッドを持つデータ構造のことです。 そう言っただけではピンとこないと思いますが、

document.MyForm.MyElement.focus();

のような処理命令を考えてみましょう。

これは「文書中の MyForm というフォームの MyElement というフォーム要素にフォーカスを当てる」という処理です。 document と MyForm と MyElement と focus() がドット(.)で結ばれています。 focus() は前にも述べた JavaScript の定義済みメソッドの1つですが、document と MyForm と MyElement はオブジェクトです。

document は JavaScript であらかじめ定義されているオブジェクト名ですが、MyForm と MyElement はユーザーが付けた名前です。 タグの name 属性で名前を付けたのです。

<FORM name="MyForm">
< INPUT type="***" name="MyElement">
</FORM>

オブジェクトには自由に名前を付けることが出来ます。フォーム(とその要素)やイメージのようにタグの name 属性で名前を付ける場合、 また DOM プログラミングで使われるようにタグに id 属性で名前を付ける場合があるほか、変数にオブジェクトを代入して名付ける場合もあります。

TheElement = document.MyForm.MyElement;
TheElement.focus();

もう1つの例を見ましょう。

var val = document.MyForm.MyElement.value;

これは「文書中の MyForm というフォームの MyElement というフォーム要素の値(データ内容)を変数 val に代入する」という意味です。 ここで value は JavaScript の定義済みプロパティの1つです。

メソッドやプロパティがオブジェクトから派生している、というのが何となくわかると思います。 メソッドは或る処理を実行するための定義済み関数であり、プロパティは変数に似てデータの値が入る箱のようなものです。 メソッドは最後に ( ) が付く(この中に引数が入る場合がある)ので区別が付きます。 ドット(.)を挿んだ順番で派生関係がわかります。

alert() メソッドや status プロパティのように多くの場合、単独で使われるメソッドやプロパティも、 実はその上にオブジェクトがあり、そのオブジェクト名が省略されているに過ぎないのです。 (特に window オブジェクトが省略されることが多いです。)

一方、document.MyForm.MyElement.value の例のように、 オブジェクトが他のオブジェクトの下にある(派生関係にある)こともわかります。 まず文書(document)が大元にあって、その中にフォームがあり、更にその中にフォーム要素があり、 フォーム要素が更にメソッドやプロパティを持っている、という派生関係を理解するのは難しくないと思います。

このように JavaScript では大元のオブジェクトから従属的なオブジェクトが派生し、 そこから別のオブジェクトが派生し、それがメソッドやプロパティを持つ、という階層構造を持っています。 もちろん最下位のプロパティだけがメソッドやプロパティを持つと考えてはいけません。 大元のオブジェクトも含め、各段階のオブジェクトがそれぞれにメソッドやプロパティを持っています。

オブジェクトを人に喩え、メソッドやプロパティを道具や所有物に喩えるとわかりやすいでしょう。 オブジェクトどうしの派生関係を親子関係に喩えます。すると親の下に子があり、子の下に孫があり、 下に行けば行くほど数が多くなる分岐図が見えてきます。

すると JavaScript にはどれだけのオブジェクトがあり、どれだけのメソッドやプロパティがあるのかに関心が持たれますね。 そのすべてを書こうとすると、ここでは収まらないので、別な機会に譲ります。ここでは次の点を押さえて置いて下さい。

前ページに戻る 前ページに戻る 次ページに進む
Copyright © 2003 梅ちゃん堂. All Rights Reserved