Closure (クロージャ)
コンピュータプログラミングにおいて、クロージャとは、第一級関数を持つ言語において、字句的にスコープ化された名前バインディングを実装するための手法です。
JavaScript では、関数がクロージャのコンテキストを作成します。
以下のコードが示すように、内側の関数は count 変数へのアクセスを、createCounter() の実行が完了した後でも維持します。
js
function createCounter() {
let count = 0;
return function () {
count += 1;
return count;
};
}
const counter = createCounter();
console.log(counter()); // 1
console.log(counter()); // 2
console.log(counter()); // 3
関連情報
- JavaScript におけるクロージャ
- クロージャ - ウィキペディア