プライベートメンバ1

by opengl_8080

JavaScript

function MyClass(name) {
    this.name = name;
}

MyClass.prototype = (function(){
    var message;
    
    return {
        getMessage: function() {
            return this.name + '「' + message + '」';
        },
        setMessage: function(value) {
            message = value;
        }
    };
}());

var hoge = new MyClass('hoge');
hoge.setMessage('嘘だ・・・インスタンス変数だろ・・・これ・・・インスタンス変数に決まってる・・・!');
console.log(hoge.getMessage());

var fuga = new MyClass('fuga');
fuga.setMessage('ところがどっこい・・・インスタンス変数じゃありません・・・! クラス変数です・・・! これが現実・・・!');

console.log(hoge.getMessage());