#演算を行うメソッドをクロージャーを用いて作成してみる!
// 演算を行うメソッドを持ったオブジェクトを
// クロージャーを用いて作成してみる。
const calc = calcFactory(10); // 初期値を10として設定
calc.plus(5); // 出力結果 "10 + 5 = 15"
まずcalcFactory実行して初期値を設定できるようにする
そして、オブジェクトを返す為、returnを記述。
function calcFactory(val){
return {
}
}
その中にメソッドとしてplusを格納する必要がある
function calcFactory(val){
return {
plus: function(target) {
const newVal = val + target;
console.log(`${val} + ${target} = ${newVal}`);
},
};
}
plus(5); このメソッド自体引数を持っているので、function(target)としてあげる!
const newVal = val + target; のところで渡ってきたvalとtargetを足してあげる必要があるのでこの記述。
このようすることで、出力したい出力結果 "10 + 5 = 15"というのは、 plus:のメソッド内では全て参照可能になるので、valには10がわたり、targetにはplus(5)の5が渡る
この出力結果に合うようにコンソールに出力する
function calcFactory(val){
return {
plus: function(target) {
const newVal = val + target;
console.log(`${val} + ${target} = ${newVal}`);
},
};
}
const calc = calcFactory(10);
calc.plus(5);
このようにすることによって、コンソールに10 + 5 = 15と出力することができる