javascriptのコンストラクタ呼び出しとやめる方法

javascriptでnewをつけて呼び出すことを前提にした関数をコンストラクタと呼ぶようです

こんなので、最初を大文字にするのが慣例らしいです

var Sample = function (v) {
  this.value = v;
}

var mySample = new Sample(100);
console.log(mySample.value); // 100

newされると新しいオブジェクトが生成される
newされたオブジェクトは、もとのprototypeリンクをもつので

var Sample = function (v) {
  this.value = v;
}
Sample.prototype.get_value = function() {
    return this.value;
};
var mySample = new Sample(100);
console.log(mySample.get_value()); // 100

としてあげるとnewされたオブジェクトがget_value関数を使えるようになる

newをしないで同じことをするには

var sample = function(v) {
    return {
        get_value: function() {
            return v;
        }
    };
}

var mySample = sample(100)
console.log(mySample.get_value()); // 100

this.valueをなくせるので、値を変えられる心配がなくなり、いいと思います

javascriptのメソッド呼び出しと関数呼び出しを整理

javascriptでは、関数の中でオブジェクトのプロパティに格納されているものをメソッドと呼ぶようです
this にセットされるものが変わるのをおさらい

例としてはこんなの

var obj = {
    value: 1,
    doubleup: function() {
        this.value += this.value;
    },
    tripleup : function() {
        var that = this;
        var helper = function() {
            // this -> globalオブジェクトがセットされる
            that.value = that.value * 3;
        };
        helper();
    }
};

doubleup、tripleup がメソッドです

メソッド内ではthisにそのオブジェクトがセットされます
doubleupでは、objのvalueを2倍してます

tripleupのなかでは、thisが使えますが、その中の関数内では
this が グローバルオブジェクト になってしまいます(いけてない)

そのため、いったん var that = this; としておいてあげれば、valueをセットできます

実行するとこんな感じ

obj.doubleup();
console.log(obj.value); // 2

obj.tripleup();
console.log(obj.value); // 6

thisの動きがすこしスッキリしました

じぶん銀行のカードでATMから引き出すときにロックがかかっている

じぶん銀行の口座をつくって、ATMから引き出すときにエラーが発生
銀行に問い合わせてください、とかなりました

調べたところ
ATMロックのロック解除/再ロックの操作方法を教えてください。
を発見、アプリで解除しました

スマートフォンにじぶん銀行アプリをインストール
ログインして

jibun-bank

ATMロック解除をします、1時間だけか、常に外すかできるようです

jibun-bank2

これでATMでお金をおろせるようになりました