プログラミングと旅と映画の日々

普段はスマホ決済サービスの会社でバッグエンドを担当しているエンジニアです。プログラミングと趣味の映画、株、時々うどんに関してブログを書いていこうと思います。海外ドラマ、クロスバイクも好きです。

JavaScriptのオブジェクト<JavaScript勉強中>

JavaScriptのオブジェクト 

◆オブジェクトとは◆

JavaScriptのオブジェクトは、名前をキーにアクセスできる配列、つまり連想配列です。

 

実装の上ではその捉え方で問題ないですが、「オブジェクト」の主役は個々の要素ではなく、「オブジェクト」そのものです。

1つのものを表現するために、複数の情報を持っています。

例えばRPGのゲームにおいて、「ヒーロー」というオブジェクトを用意した場合、HPやMPなどヒーローを表現するための複数の属性情報を持ちます。

 

ヒーローのように、プログラム上で扱う対象をオブジェクト(モノ)に見立てて、コードを組み立てていく方法をオブジェクト指向と呼びJavaRubyJavascriptなどの言語はオブジェクト指向言語です。

 

◆オブジェクトのpropertyとmethod◆

オブジェクトはpropertymethodの2つから構成されます。

f:id:takanori5:20170122165330j:plain

 

・プロパティ:状態・特性

プロパティとは先ほどのヒーローオブジェクトでのHPやMPなど、オブジェクトの状態や特性を表すものです。

 

・メソッド:オブジェクトの振る舞い

これに対し、メソッドとはオブジェクトを操作するための道具です。ヒーローオブジェクトでは、攻撃する、逃げるなどの振る舞いを表現します。

 

◆オブジェクトを利用するには・・・◆ 

オブジェクトとは何か、なんとなく理解できたところで実際に利用方法を見ていきましょう。

 new演算子

オブジェクト指向では、用意したオブジェクトを直接利用することはできません。

オブジェクトは、「自分自身でそれぞれ個々のデータを持っている」ためです。

例えば複数のアプリからある一つのオブジェクトに対してデータを変更する処理を行ったとします。その場合、データが衝突してしまい、データが壊れてしまいます。

 

このような衝突を防ぐために、オリジナルを直に操作するのではなく、複製したコピーを生成し、操作します。

このように、オブジェクトの複製を作ることをインスタンスと呼びます。

 

f:id:takanori5:20170122170226j:plain

オブジェクトをインスタンス化するにはnew演算子を利用します。

○構文

var 変数名 =  new オブジェクト名(引数、...)

 

また、オブジェクトの生成時にはオブジェクトを初期化します。

この初期化するためのメソッドをコンストラクターといいます。

コンストラクターはオブジェクトと同名で定義します。

例えば、初期化時にヒーローのHPを100に設定したい場合、コンストラクタのでHPを設定するように定義しておけば、

 

var Hero = new Hero(100);

 

このように引数にHPの初期値を設定し、インスタンス化することが可能です。

 

オブジェクトの説明は以上です。

 

◆参考書籍◆

改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで

新品価格
¥3,218から
(2017/1/22 16:28時点)