コピペコードで快適生活

明日使えるソースを自分のために

JavaScript(ES5)でクラスベースっぽくオブジェクト思考する

JavaScript(ES5)でクラスベースっぽくオブジェクト思考したかったので簡単な書き方をメモ。

var MyObject = function(a){
  // アクセサっぽく
  this.a = a;

  // privateメソッドっぽく
  var privateFunction = function(){
    alert('private function! arg is ' + a);
  }

  // publicメソッドっぽく
  var publicFunction = function() {
    alert('public function! arg is ' + a);
  }
  this.publicFunction = publicFunction;
};


// 使い方
var obj = new MyObject("hoge");
obj.a                 // => "hoge";
obj.a = "fuga";
obj.a                 // => "fuga";
obj.publicFunction(); // => public function! arg is fuga