JavaScriptのオブジェクト指向 (3/7)
作成:2010-04-01 13:13
更新:2010-05-11 17:12
更新:2010-05-11 17:12
■配列からオブジェクトへ
このMyData配列では、MyDataを扱うのに必要なものがすべて揃っていました。必要な値も、必要な処理も、みんなMyData自身に収めてありました。これが、「オブジェクト」なのです。すなわち、「自分自身で完結しており、自分自身が必要とするものをすべて自身の中に持っている」という、そういうプログラムのまとまり。それがオブジェクトと呼ばれるものなのです。
「でも、これって配列でしょ?」――そうです。実は、JavaScriptでは、「オブジェクトとは、配列のこと」なのです。と断言してしまうと語弊がありますが、実質、そう考えて間違いありません。唯一の違いは、
オブジェクトでは、自身に用意されている「値」のことを「プロパティ」といいます。また、自身に用意されている「処理」のことを「メソッド」といいます。例えば、先のMyDataオブジェクトでは、「name」「age」「mail」といったプロパティと、「showData」というメソッドが用意されていた、というわけです。
そして。
実を言えば、JavaScriptでは、「すべての値は、オブジェクトである」のです。下のリストにあげたサンプルを見てください。これは、100という数字をalertで表示するものです。が、alertの引数がちょっと変ですね? n.toString()というものが記述されてます。この「toString」というのは、自身をテキストとして表現したものを返すメソッドなのです。つまり、これはnという数値のメソッドを呼び出しているものだったのです。
nには、100という整数が入っています。ということは? 100という値のtoStringを呼び出していたということになります。つまり、100という値には、toStringというメソッドが用意されていたのです。100は、タダの数字ではなく、オブジェクトだったのですね。
このように、JavaScriptでは、すべての値はオブジェクトとして用意されています。JavaScriptは、実は「非常に本格的なオブジェクト指向言語」だったのですよ。
「でも、これって配列でしょ?」――そうです。実は、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は、実は「非常に本格的なオブジェクト指向言語」だったのですよ。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
<script type="text/javascript"> <!-- var n = 100; alert(n.toString()); //--> </script>
※関連コンテンツ
「初心者のためのJavaScriptプログラミング入門」に戻る