特集PC技術

とあるJavaScriptの情報図書

 

【JavaScript】[ECMAScript] クラス

JavaScriptでもオブジェクト指向のプログラミングが可能です。
ただし、注意してほしいのはJavaScriptのオブジェクト指向はプロトタイプベースなので
一般的に言われるクラスによるオブジェクト指向ではありません。
またここに記載されている情報はECMAScript3なので最新のECMAScript5で使えるかは微妙です。
ECMAScript5になるとclass定義が追加されるとかされないとか。

目次

[1] クラス

JavaScriptにおけるクラスはプロトタイプベースといわれるオブジェクト指向なので
Javaのクラスとは異なります。Javaのクラスはクラスベースといわれるそうです。
クラスベースのクラスが一般的なクラスなので、JavaScriptのクラスはクラスと呼べないのでは
というのもあるようですが、該当する言葉がないのでクラスという名前がついているようです。
ここでも紛らわしいかもしれませんが、クラスと呼ぶことにします。

[2] クラスを作ってみよう

さっそくですが、クラスを作成してみましょう。

// 人間クラスを定義
function Human(){

}

// インスタンスを生成
var hopsii = new Human();

どうみても関数にしかみえませんが、JavaScriptではこれがクラスになります。
正確には関数にクラスとしての役割を持たせているです。
クラス名は一般的に頭文字を大文字にしておくとよいです。
頭文字を大文字にしておけば、クラスなのか関数なのか判別もしやすいと思います。
クラスの定義方法はわかりましたが、クラスを初期化するコンストラクタはどこにあるのかというと
先ほど定義したクラス(Human)をnew演算子によって使用したときにコンストラクタといわれるようです。

[3] クラスの定義方法は他にもある

// 人間クラスを定義
function Human(){

}

// これもクラス
var Human = function(){

}

JavaScriptは柔軟な言語のため1つのことを行うにもいくつもの方法があります。
様々な場所からクラスの作成方法を見る限り1つめの方法がよく使われているみたいです。
なので、1つ目の方法でクラスを作成するようにしたほうが誤解を招く確率が減ると思います。

[4] 更新履歴

日付 詳細
2011/09/02 コンテンツ公開

コメントの投稿


画像の中に見える文字を入力してください。

トラックバックURL

http://www.isl.ne.jp/cgi-bin/mt/mt-tb.cgi/1708

サイト内検索

twitterTwitter

最新ブログ記事

2014年05月12日

Unityでミニゲームを作ろう!

[第1回]Unityってどんなツール?

2013年11月13日

独学iOSプログラミング

第5回 XCodeデバック設定

2013年10月09日

独学iOSプログラミング

第4回 iOSの確認したいこと

2013年09月11日

独学iOSプログラミング

第3回 iOSプログラミングの開発方法

2013年06月12日

独学iOSプログラミング

第2回 iOSプログラミングの基本

ISL 情報戦略研究所

pagetopこのページの先頭へ戻る