0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Javascript】クロージャーってなんぞ?

Posted at

クロージャーを学びました!!!

ので、簡単に3つのポイントで記事を書きました。

① クロージャーとは?

関数の中に「関数」とその周囲の「環境」が格納されているもの
(めちゃ簡単に書きました。詳しくはMDNとかにお任せします。。。)

クロージャとは?

② 何に使うの?

オブジェクトの変数やメソッドを外部から簡単に変更されないようにするためらしい。
(簡単に変更できるとバグや意図せぬ挙動が発生する恐れがある)

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関数だけ使えるようにしてあげれば、
税率を勝手にいじれないようにすることも可能ですね!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?