-
クロージャとは何か? クロージャは、関数とその関数が参照する変数の組み合わせです。クロージャを使用すると、関数内の変数が関数のスコープ外でも保持されます。これにより、関数が外部の変数にアクセスできるようになります。
-
スコープとは何か? スコープは、変数や関数がアクセス可能な範囲のことを指します。JavaScriptでは、グローバルスコープ、関数スコープ、ブロックスコープなどの異なるスコープがあります。
以下は、クロージャとスコープを使用したいくつかのコード例です。
// クロージャの例
function outerFunction() {
var outerVariable = '外部の変数';
function innerFunction() {
console.log(outerVariable);
}
return innerFunction;
}
var closureExample = outerFunction();
closureExample(); // 結果: "外部の変数"
// スコープの例
function scopeExample() {
var localVar = 'ローカル変数';
if (true) {
var blockVar = 'ブロック変数';
console.log(localVar); // 結果: "ローカル変数"
console.log(blockVar); // 結果: "ブロック変数"
}
console.log(localVar); // 結果: "ローカル変数"
console.log(blockVar); // 結果: "ブロック変数"
}
scopeExample();
以上が、クロージャとスコープに関するシンプルな例です。これらの概念を理解すると、より高度なJavaScriptプログラミングにおいて便利に活用することができます。この記事は、初心者から上級者まで幅広い読者に役立つでしょう。