ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript におけるクロージャとは何ですか? (詳しいガイド)

JavaScript におけるクロージャとは何ですか? (詳しいガイド)

DDD
DDDオリジナル
2024-11-22 03:42:24292ブラウズ

What Are Closures in JavaScript? (inute Guide)

JavaScript におけるクロージャとは何ですか?

クロージャは JavaScript の基本的な概念であり、一見難しいように見えますが、非常に強力です。これらを理解するための簡単なガイドを次に示します。

クロージャとは何ですか?

クロージャは、関数がその字句スコープから変数を「記憶」するときに、そのスコープが終了した後でも作成されます。

例:

function outerFunction(outerVariable) {  
  return function innerFunction(innerVariable) {  
    console.log(`Outer: ${outerVariable}, Inner: ${innerVariable}`);  
  };  
}  

const myClosure = outerFunction("Hello");  
myClosure("World");  
// Output: Outer: Hello, Inner: World

ここで、innerFunction は、outerFunction の実行が終了した後でも、outerFunction のスコープから externalVariable にアクセスできます。

クロージャがなぜ役立つのか?

データ プライバシー: プライベート変数を作成します。

function counter() {  
  let count = 0;  
  return function () {  
    count++;  
    return count;  
  };  
}  
const myCounter = counter();  
console.log(myCounter()); // 1
console.log(myCounter()); // 2  

部分的な適用: 関数の引数を事前に入力します。

function multiplyBy(multiplier) {  
  return function (number) {  
    return number * multiplier;  
  };  
}  
const double = multiplyBy(2);  
console.log(double(5)); // 10  

結論

クロージャは関数にその環境を記憶させます。これらは、プライベート変数、部分的なアプリケーション、および JavaScript の他の多くの高度なパターンに最適です。

以上がJavaScript におけるクロージャとは何ですか? (詳しいガイド)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。