JavaScript (ES5) でクラスを実現するための基本
//プライベートにしたい変数をローカル変数で宣言することでカプセル化を実現
var Person = function(name, age) {
if(!(this instanceof Person)) {
return new Person(name, age);
}
// プライベート変数 ( メンバ )
var private_name = name;
this.public_age = age;
// コンストラクタ内でメソッドを定義
this.setName = function(name) {
private_name = name;
}
this.getName = function() {
return private_name;
}
}
var taro = new Person('太郎', 20);
// アクセス可能
console.log(taro.getName()); // 太郎
// アクセス可能
console.log(taro.public_age); // 20
// アクセス不可
console.log(taro.private_name); // undefined
参照URL
「JavaScript (ES5) でクラスを実現するための基本」
https://qiita.com/kotarella1110/items/9ee2404ef31f47932cc6