From 66e79a003e5a579563d90c1d52972beb99ef2b5b Mon Sep 17 00:00:00 2001
From: aster <137767097+aster-void@users.noreply.github.com>
Date: Sun, 15 Sep 2024 22:33:27 +0900
Subject: [PATCH 1/3] add sample of scope
---
docs/1-trial-session/09-functions/index.mdx | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/docs/1-trial-session/09-functions/index.mdx b/docs/1-trial-session/09-functions/index.mdx
index 49d8edbd..a1e92ff4 100644
--- a/docs/1-trial-session/09-functions/index.mdx
+++ b/docs/1-trial-session/09-functions/index.mdx
@@ -115,6 +115,16 @@ document.write(multiply(3, 4));
関数内で宣言された変数は、関数内でのみ有効です。
変数が有効な範囲のことを、その変数の**スコープ**と呼んでいます。
+```javascript
+function setNumber(num) {
+ const number = num;
+}
+
+setNumber(42);
+
+document.write(number); // エラー
+```
+
{/* prettier-ignore */}
関数外で宣言された変数は関数内でも利用できます。
From 5ddbb1ff2acd4eeae60766975742b24979259262 Mon Sep 17 00:00:00 2001
From: aster <137767097+aster-void@users.noreply.github.com>
Date: Fri, 27 Sep 2024 20:57:55 +0900
Subject: [PATCH 2/3] add example of if stmt
---
docs/1-trial-session/09-functions/index.mdx | 25 ++++++++++++++++-----
1 file changed, 19 insertions(+), 6 deletions(-)
diff --git a/docs/1-trial-session/09-functions/index.mdx b/docs/1-trial-session/09-functions/index.mdx
index a1e92ff4..61b7df8d 100644
--- a/docs/1-trial-session/09-functions/index.mdx
+++ b/docs/1-trial-session/09-functions/index.mdx
@@ -112,17 +112,30 @@ document.write(multiply(3, 4));
## 変数のスコープ
{/* prettier-ignore */}
-関数内で宣言された変数は、関数内でのみ有効です。
-変数が有効な範囲のことを、その変数の**スコープ**と呼んでいます。
+関数や if 文などのブロック内で宣言された変数は、そのブロック内でのみ有効です。
+
+このような、変数が有効な範囲のことを、その変数の**スコープ**と呼んでいます。
+
+```javascript
+const age = 18;
+
+if (age >= 20) {
+ const message = "お酒が飲めます";
+} else {
+ const message = "お酒は飲めません";
+}
+
+document.write(message); // エラー: message は定義されていません
+```
```javascript
-function setNumber(num) {
- const number = num;
+function setAnswer(num) {
+ const answer = num;
}
-setNumber(42);
+setAnswer(42);
-document.write(number); // エラー
+document.write(answer); // エラー: answer は定義されていません
```
{/* prettier-ignore */}
From 119c3e806cdbcbc4e1718a48afcf8005d99a1bc8 Mon Sep 17 00:00:00 2001
From: aster <137767097+aster-void@users.noreply.github.com>
Date: Fri, 9 May 2025 01:03:21 +0900
Subject: [PATCH 3/3] add if blocks
---
docs/1-trial-session/09-functions/index.mdx | 22 ++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/docs/1-trial-session/09-functions/index.mdx b/docs/1-trial-session/09-functions/index.mdx
index c5781356..b327fb69 100644
--- a/docs/1-trial-session/09-functions/index.mdx
+++ b/docs/1-trial-session/09-functions/index.mdx
@@ -104,7 +104,17 @@ document.write(multiply(3, 4));
## 変数のスコープ
{/* prettier-ignore */}
-関数内で宣言された変数は、関数内でのみ有効です。変数が有効な範囲のことを、その変数の**スコープ**と呼んでいます。
+関数や if 文などのブロックの内側で宣言された変数は、そのブロック内でのみ有効です。変数が有効な範囲のことを、その変数の**スコープ**と呼んでいます。
+
+```javascript
+function setAnswer(num) {
+ const answer = num;
+}
+
+setAnswer(42);
+
+document.write(answer); // エラー: answer は定義されていません
+```
```javascript
const age = 18;
@@ -118,16 +128,6 @@ if (age >= 20) {
document.write(message); // エラー: message は定義されていません
```
-```javascript
-function setAnswer(num) {
- const answer = num;
-}
-
-setAnswer(42);
-
-document.write(answer); // エラー: answer は定義されていません
-```
-
{/* prettier-ignore */}
関数外で宣言された変数は関数内でも利用できます。