libro
www.tuyano.com
初心者のためのJavaScriptプログラミング入門

JavaScriptのオブジェクト指向 (3/7)

作成:2010-04-01 13:13
更新:2010-05-11 17:12

■配列からオブジェクトへ

このMyData配列では、MyDataを扱うのに必要なものがすべて揃っていました。必要な値も、必要な処理も、みんなMyData自身に収めてありました。これが、「オブジェクト」なのです。すなわち、「自分自身で完結しており、自分自身が必要とするものをすべて自身の中に持っている」という、そういうプログラムのまとまり。それがオブジェクトと呼ばれるものなのです。

「でも、これって配列でしょ?」――そうです。実は、JavaScriptでは、「オブジェクトとは、配列のこと」なのです。と断言してしまうと語弊がありますが、実質、そう考えて間違いありません。唯一の違いは、
new Array()
こんな具合にして配列を用意する代りに、
new Object()
このようにして用意するようにすれば、もうそれでMyDataはオブジェクトになります。JavaScriptのオブジェクトは、ほんとうに配列と紙一重の差しかないのです。ですから、オブジェクトと言うものをイメージするとき、配列を思い浮かべればだいたい間違いない、といってよいでしょう。

オブジェクトでは、自身に用意されている「値」のことを「プロパティ」といいます。また、自身に用意されている「処理」のことを「メソッド」といいます。例えば、先のMyDataオブジェクトでは、「name」「age」「mail」といったプロパティと、「showData」というメソッドが用意されていた、というわけです。

そして。
実を言えば、JavaScriptでは、「すべての値は、オブジェクトである」のです。下のリストにあげたサンプルを見てください。これは、100という数字をalertで表示するものです。が、alertの引数がちょっと変ですね? n.toString()というものが記述されてます。この「toString」というのは、自身をテキストとして表現したものを返すメソッドなのです。つまり、これはnという数値のメソッドを呼び出しているものだったのです。

nには、100という整数が入っています。ということは? 100という値のtoStringを呼び出していたということになります。つまり、100という値には、toStringというメソッドが用意されていたのです。100は、タダの数字ではなく、オブジェクトだったのですね。

このように、JavaScriptでは、すべての値はオブジェクトとして用意されています。JavaScriptは、実は「非常に本格的なオブジェクト指向言語」だったのですよ。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

<script type="text/javascript">
<!--
var n = 100;
alert(n.toString());
//-->
</script>
※関連コンテンツ

「初心者のためのJavaScriptプログラミング入門」に戻る