【独学JavaScript入門⑲】オブジェクト

オブジェクトとは何ですか?と10人のプログラマーに質問するとおそらく多様な回答が返ってくるほど抽象的でぼんやりした概念だと僕は思っています。おそらく世界中にこんな説明の仕方をする人はいないと思いますが、慣れるまではオブジェクトを完璧に理解しようとするのはやめた方がいいです。

オブジェクトとは?を追求することは「人は死んだらどこに行くのか?」を哲学的に考えるくらい大変なので、オブジェクトを完璧に理解しようとする労力を他のことに使った方が良いです。うまくオブジェクトが理解できなくてプログラミングが嫌になるくらいなら今は無理に理解する必要はありません。

例えば「お金とは何ですか?」と数人に聞くとします。
・この世で1番大事なものだ
・お金より愛の方が大事だ
・お金は遣うためのもの
・お金は怖いものだ

様々な回答が返ってきますが、「お金はお店の商品と交換することができる」という性質は全ての人がそうだと意見が一致しますね。今回はオブジェクトのそのような間違いない部分だけご説明させて頂きます。今すぐにオブジェクトとは何かをうまくつかめなくても、ずっとプログラミングを続けていく中で「お金とは何か?」を自分なりに解釈できるようになるのと同じでいつかきっとあなたなりにオブジェクトのイメージをつかめるはずです。

プログラミング的にオブジェクトの表記方法をご紹介します。
・太郎は人間です。
・太郎は身長170cm、体重60kg

この例でいくと太郎さんは太郎という名前、身長170cm、体重60kgというデータ(プロパティ)を持つ物体です。物体は英語でオブジェクト、つまり太郎さんは身長、体重、年齢のデータを持つオブジェクトです。これをJavaScriptのプログラミングのルールに則って表現すると以下のようになります。

//太郎は以下の情報を持つオブジェクト
//変数名.フィールド = データ;
taro.name = "taro";
taro.ht = 170;
taro.wt = 60;

//このように表記しても良い
//変数名["フィールド"] = データ;
taro["name"] = "taro";
taro["ht"] = 170;
taro["wt"] = 60;

//右が切れたら左にスワイプしてください

初めて見られる方も上記のコードはなんとなくイメージしやすいかと思います。まずはtaroというオブジェクトの名前はtaro.name = “taro”で定義するのかくらいに思ってもらえればと思います。

ここでname、ht、wtを「フィールド」と呼びます。

JavaScript入門一覧に戻る