KeisukeYamazaki
10/22/2019 - 4:14 PM

JavaScript (ES5) でクラスを実現するための基本

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