OOPプログラム

JavaScriptはクラスが無いが、プロパティを利用して、クラスを模倣することができる。
主な生成方法は以下

  1. 空オブジェクトを生成し、動的にプロパティを追加する。
  2. オブジェクトリテラルを利用して、オブジェクト生成と同時にプロパティを設定する。
  3. new演算子とコンストラクタを利用する。
'use strict';

// OOPサンプルコード

// Studentコンストラクタ
function Student(name, birthday, sex, greet) {
	this.name	  = name;
	this.birthday = birthday;
	this.sex	  = sex;
	this.greet	  = function () {
		console.log(greet);
	};
}

var student = [];	// student配列生成

// 0番目
student[0] = {};	// オブジェクト生成
// 各プロパティを動的に設定
student[0].name = '山田太郎';
student[0].birthday = 20010911;
student[0].sex = 'male';
student[0].greet = function () {
	console.log('オッス');
};


// 1番目
// 上記と同様の設定をオブジェクトリテラルで設定
student[1] = {
	  name: '鈴木花子'
	, birthday : 20010101
	, sex: 'female'
	, greet: function () {
		console.log('こんにちは');
	}
};

// 2番目コンストラクタ
student[2] = new Student('名無しの権兵衛', 19990731, '?', 'おはこんばんちは');

// student配列内容表示
var i, size;
size = student.length;

for (i = 0; i < size; i++) {
	console.log('name    : ' + student[i].name);
	console.log('birthday: ' + student[i].birthday);
	console.log('sex     : ' + student[i].sex);
	student[i].greet();
}