クロージャーを学びました!!!
ので、簡単に3つのポイントで記事を書きました。
② 何に使うの?
オブジェクトの変数やメソッドを外部から簡単に変更されないようにするためらしい。(簡単に変更できるとバグや意図せぬ挙動が発生する恐れがある)
Javaでいうとカプセル化の概念に近いのかなぁ?
(別件で調べたらカプセル化を担う機能の一つと書いてました。)
③ 使用例
例えば、消費税率の変化に対応出来るようこんな感じで関数が作れます。example1.js
function multiplyTaxRate(taskRate) {
return function(price) {
return price * taskRate;
};
}
const task2022 = multiplyTaxRate(0.1);
task2022(200); // => 220;
task2022(300); // => 330;
const task2013 = multiplyTaxRate(0.05);
task2013(200); // => 210;
task2013(300); // => 315;
その年のtask関数だけ使えるようにしてあげれば、
税率を勝手にいじれないようにすることも可能ですね!