From 1c4b02e5cd9084601257d18e6df8df5c4291548e Mon Sep 17 00:00:00 2001 From: nakaterm <104970808+nakaterm@users.noreply.github.com> Date: Sun, 15 Feb 2026 19:02:24 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=E3=80=8C=E5=A4=89=E6=95=B0=E3=81=AE?= =?UTF-8?q?=E3=82=B9=E3=82=B3=E3=83=BC=E3=83=97=E3=80=8D=E3=81=AE=E9=A0=85?= =?UTF-8?q?=E3=82=92=E3=83=AA=E3=83=A9=E3=82=A4=E3=83=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/1-trial-session/09-functions/index.mdx | 61 +++++++++++---------- 1 file changed, 31 insertions(+), 30 deletions(-) diff --git a/docs/1-trial-session/09-functions/index.mdx b/docs/1-trial-session/09-functions/index.mdx index ede6bbe7a..f737addf5 100644 --- a/docs/1-trial-session/09-functions/index.mdx +++ b/docs/1-trial-session/09-functions/index.mdx @@ -103,17 +103,40 @@ document.write(multiply(3, 4)); ## 変数スコープ -{/* prettier-ignore */} -関数内で宣言された変数は、関数内でのみ有効です。変数が有効な範囲のことを、その変数**スコープ**と呼んでいます。 +関数やif文などの中で宣言された変数 +は、それらの内部でのみ有効です。変数が有効な範囲のことを、その +変数**スコープ**と呼んでいます。 -{/* prettier-ignore */} -関数外で宣言された変数関数内でも利用できます。 +次の例では、関数`greet`の中で変数`message`を宣言しています。 + +```javascript +function greet() { + let message = "Hello!"; + document.write(message); // Hello! と表示される +} + +greet(); +``` + +ここで、関数の外側から`message`を利用しようとするとエラーになります。 + +```javascript +function greet() { + let message = "Hello!"; +} + +greet(); + +// document.write(message); これはエラーになる +``` + +一方で、関数の外側で宣言された変数関数の内側から利用することは可能です。 ```javascript let guestCount = 0; function greet() { - guestCount += 1; + guestCount = guestCount + 1; document.write("あなたは" + guestCount + "人目のお客様です。"); } @@ -121,44 +144,22 @@ greet(); // あなたは1人目のお客様です。 greet(); // あなたは2人目のお客様です。 ``` -この例における、`greet`関数は、呼び出されるたびに`guestCount`に1を加えています。 - :::tip[複合代入演算子] [**複合代入演算子**](https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Expressions_and_Operators#%E4%BB%A3%E5%85%A5%E6%BC%94%E7%AE%97%E5%AD%90) は、計算と代入を同時に行うことができる演算子です。 `x += y`は、`x = x + y`という意味になります。他にも`-=`や`*=`などの演算子が定義されています。`x -= y`は`x = x - y`、`x *= y`は`x = x * y`という意味になります。 -```javascript -guestCount += 1; -``` - -は以下の文のように読み替えられます。 +上の例の ```javascript guestCount = guestCount + 1; ``` -::: - -:::warning[変数**スコープ**] - -{/* prettier-ignore */} -スコープが終わった変数は、その時点で破棄されます。 +は以下のように書き換えることができます。 ```javascript -let outer = 0; - -function increment() { - let inner = 0; - outer += 1; - inner += 1; - document.write(outer); // 1ずつ増える - document.write(inner); // 常に1 -} - -increment(); -increment(); +guestCount += 1; ``` ::: From e615ec59e358b11210e05afeb15d564844dabb04 Mon Sep 17 00:00:00 2001 From: nakaterm <104970808+nakaterm@users.noreply.github.com> Date: Sun, 15 Feb 2026 19:12:25 +0900 Subject: [PATCH 2/3] =?UTF-8?q?prettier-ignore=20=E3=82=92=E5=BF=98?= =?UTF-8?q?=E3=82=8C=E3=81=A6=E3=81=84=E3=81=9F=E3=81=AE=E3=81=A7=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/1-trial-session/09-functions/index.mdx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/1-trial-session/09-functions/index.mdx b/docs/1-trial-session/09-functions/index.mdx index f737addf5..f11837e89 100644 --- a/docs/1-trial-session/09-functions/index.mdx +++ b/docs/1-trial-session/09-functions/index.mdx @@ -103,9 +103,8 @@ document.write(multiply(3, 4)); ## 変数スコープ -関数やif文などの中で宣言された変数 -は、それらの内部でのみ有効です。変数が有効な範囲のことを、その -変数**スコープ**と呼んでいます。 +{/* prettier-ignore */} +関数やif文などの中で宣言された変数は、それらの内部でのみ有効です。変数が有効な範囲のことを、その変数**スコープ**と呼んでいます。 次の例では、関数`greet`の中で変数`message`を宣言しています。 From a5ef48a596dd1351b233f6e5977172c98394230a Mon Sep 17 00:00:00 2001 From: nakaterm <104970808+nakaterm@users.noreply.github.com> Date: Sun, 15 Feb 2026 22:01:23 +0900 Subject: [PATCH 3/3] =?UTF-8?q?let=20=E3=81=A8=20const=20=E3=81=AB?= =?UTF-8?q?=E9=99=90=E3=82=8B=E6=97=A8=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/1-trial-session/09-functions/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/1-trial-session/09-functions/index.mdx b/docs/1-trial-session/09-functions/index.mdx index f11837e89..0c615fa62 100644 --- a/docs/1-trial-session/09-functions/index.mdx +++ b/docs/1-trial-session/09-functions/index.mdx @@ -104,7 +104,7 @@ document.write(multiply(3, 4)); ## 変数スコープ {/* prettier-ignore */} -関数やif文などの中で宣言された変数は、それらの内部でのみ有効です。変数が有効な範囲のことを、その変数**スコープ**と呼んでいます。 +関数やif文などの中で`let`や`const`を使って宣言された変数は、それらの内部でのみ有効です。変数が有効な範囲のことを、その変数**スコープ**と呼んでいます。 次の例では、関数`greet`の中で変数`message`を宣言しています。