JSFiddle - React, Tailwind, and code Playground

by kazu69

JavaScript

//クラス生成
var Class = function(){
   //private propaty/method
   //propaty
   var _propaty = '_propaty';
   //constractor(mathod)
   //コンストラクタとは、オブジェクトを生成する際に自動的に呼び出される関数(メソッド)のこと
   //プライベートメソッドなどはコンストラクタ内で定義する
   var _constroctor = function(val){ return val; }
   
   //特権メソッド
   //プライベートメンバーにアクセスする
   this.getPropaty = function() {return _propaty;}
   this.setPropaty = function(val) {_propaty = val;}
   this.checkPropaty = function(){return (_propaty)? true : false;}
   this.getConstroctor = function(val) {return _constroctor(val);}
}
//普通のメソッドを定義
Class.prototype = {
   publicVar     : function() {return 2;},
   publicGetProp : function() { return this.getPropaty(); },
   publicSetProp : function(val) { this.setPropaty(val); },
   publicCheckProp : function() { return this.checkPropaty(); }
}
var PseudoConstructor = function(){

}
var PseudoConstructor = function() {
    var instance = new Class();
    return {
        show: function () {return instance.publicVar();},
        get : function() {return instance.publicGetProp();},
        set : function(val) {instance.publicSetProp(val);}
    }
} 

var instance = new PseudoConstructor();

console.log(instance.get());
instance.set(2);
console.log(instance.get());