IT用語: クロージャ(Closure)とは|関数が変数を「覚える」仕組み
関数が定義された時点のスコープの変数を参照し続けるクロージャの仕組みとカウンターなどの実用例を解説。
クロージャとは
クロージャは、「関数が定義された時点の外側のスコープ(変数環境)を記憶し、後からでもその変数にアクセスできる」という性質を持つ関数です。JavaScriptをはじめ多くの言語でサポートされており、状態の隠蔽やファクトリ関数などに活用されます。
シンプルな例:カウンター
function makeCounter() {
let count = 0; // 外側の変数
return function() {
count++; // 内側の関数がcountを「覚えている」
return count;
};
}
const counter = makeCounter();
counter(); // → 1
counter(); // → 2
count は外から直接変更できません。これがカプセル化(情報隠蔽)の効果です。
なぜ重要なのか?
ReactのuseStateフックやイベントハンドラーなど、現代のフロントエンド開発はクロージャを多用しています。「なぜこの変数が古い値を持っているのか?」というバグの多くはクロージャの仕組みを理解していないことが原因です。
関連する用語 (プログラミング)
全33件を見るJavaScript (JS)
Webブラウザ上で動きのある表現(アニメーション等)を実現するためのプログラミング言語。
GraphQL
FacebookがRESTの課題を解決するために開発したAPIクエリ言語。クライアントが必要なデータの形を宣言的に指定して取得でき、オーバーフェッチ・アンダーフェッチを解消する。
IT用語: async/awaitとは|非同期処理をわかりやすく書く構文
Promiseベースの非同期処理をまるで同期処理のように書けるasync/awaitの仕組みとエラーハンドリングを解説。
ヘッドレスCMS
表示用フロントエンド(ヘッド)を持たず、コンテンツ管理とAPIによるデータ提供に特化したCMS。Next.js・Astro等の任意のフロントエンドと組み合わせてJAMstack構成を実現する。
IT用語: DRY原則とは|「繰り返しを避けよ」というプログラミングの鉄則
Don't Repeat Yourself(DRY)原則の意味と、WET(重複だらけ)なコードが引き起こす問題と対処法を解説。
Prettier(コードフォーマッター)
コードを自動的に整形するオピニオネイテッドなフォーマッター。JavaScript・TypeScript・CSS・HTML・JSON・Markdownに対応し、チームのコードスタイル論争を終わらせる。