1
1

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.

≪ クロージャ ≫

Last updated at Posted at 2023-04-12

01. クロージャとはなにか

クロージャとは、

  • ある関数から返された関数
  • 返された関数が生成された時にその外側にあった環境(変数)

が組み合わさったもの。

02. なぜ重要? / 実際の現場でどう使う?

  • クロージャを使用することで関数の外側からのアクセスをブロックできるため
    ☞ 変数の再代入による予期しないエラーを防止する

  • また、同じような処理を行う場合をクロージャした関数を流用できる
    ☞ コードの簡略化により、可読性を上げる

03. クロージャの例

A. クロージャした関数 :    func2の"x"は外側からアクセスできない

const func1 = x => func2(y) => x + y;
const addTen = func1(10);
addTen(90)   // => 100

x = 100;     // func2の"x"に影響しない
addTen(90)   // => 100



B. クロージャしてない関数 :    func3の"x"は外側からアクセスできる

let x = 10;
const func3 = y => x + y;
func3(90)    // => 100

x = 100;     // func3の"x"に影響する
func3(90)    // => 190 (100が返ってきてほしい)
1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?