Skip to content

Commit c70e292

Browse files
authored
無名関数の章のこれ以前の説明と不整合な部分を修正 (#719)
1 parent 71b6fe4 commit c70e292

File tree

1 file changed

+9
-17
lines changed
  • docs/2-browser-apps/04-anonymous-function

1 file changed

+9
-17
lines changed

docs/2-browser-apps/04-anonymous-function/index.mdx

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: 無名関数
44

55
## 無名関数
66

7-
[イベント](/docs/trial-session/events/)の節で、関数もオブジェクトの一種であることを説明しました。このため、関数は通常の値と同じように変数やプロパティに代入したり、関数の引数や戻り値になったりできます。
7+
[イベント](/docs/trial-session/events/)の節で、関数も値の一種であることを説明しました。このため、関数は変数やプロパティに代入したり、関数の引数や戻り値になったりできます。
88

99
しかしながら、通常の記法で関数を記述することが煩わしい場合があります。イベントハンドラを登録する場合を考えてみましょう。
1010

@@ -75,7 +75,7 @@ const add3 = function (a, b) {
7575

7676
## 無名関数を用いると便利な関数
7777

78-
[`Array#map` メソッド](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/map)は、関数オブジェクトの引数をひとつとり、配列の各要素に適用した上で、その戻り値からなる新しい配列を返します。
78+
[`Array#map` メソッド](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/map)は、引数として関数をひとつとり、配列の各要素に適用した上で、その戻り値からなる新しい配列を返します。
7979

8080
このように、他の関数の引数として呼び出される関数のことを<Term>**コールバック関数**</Term>と呼びます。
8181

@@ -88,20 +88,6 @@ const pricesWithTax = pricesWithoutTax.map((price) => {
8888
document.write(pricesWithTax); // 120,240,360,480,600
8989
```
9090

91-
:::tip[プリミティブ値のラッパーオブジェクト]
92-
93-
数値や文字列、論理値には、それぞれ対応するクラスが存在し、そのクラスのメソッドが使用できます。[クラスとインスタンスの節](/docs/browser-apps/class/)でこうしたプリミティブ値に対して `toString` メソッドが使用できたのは、これらのクラスが `Object` クラスを継承しているからです。
94-
95-
| プリミティブ値 | 対応するクラス |
96-
| -------------- | ------------------------------------------------------------------------------------------------ |
97-
| 数値 | [Number](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Number) |
98-
| 文字列 | [String](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String) |
99-
| 論理値 | [Boolean](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Boolean) |
100-
101-
上のプログラムで使用されているのは[`String#repeat` メソッド](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/repeat)で、文字列を指定された回数繰り返した文字列を返すメソッドです。
102-
103-
:::
104-
10591
## アロー関数の省略形
10692

10793
アロー関数は、内部の処理が `return` 文のみの場合、波括弧と `return` キーワードを省略して式のみを記述することもできます。前項のサンプルプログラムは、次のように省略可能です。
@@ -112,6 +98,8 @@ const pricesWithTax = pricesWithoutTax.map((price) => price * (1 + taxRate));
11298

11399
## 演習
114100

101+
### 問題 1
102+
115103
先ほどの[`Array#map` メソッド](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/map)を用いてみましょう。`students` 変数に格納されている名前を箇条書きにしてください。
116104

117105
```javascript
@@ -141,6 +129,8 @@ studentList.innerHTML = students
141129

142130
</Answer>
143131

132+
### 問題 2
133+
144134
`scores` 変数には、各必修科目の点数が格納されているとします。全ての要素が 50 点以上であることを確認するには、何というメソッドを使うのが適切か調べてみてください。また、実際にそのメソッドを用いて点数を確認してみてください。
145135

146136
```javascript
@@ -171,7 +161,9 @@ if (scores.every((score) => score >= 50)) {
171161

172162
</Answer>
173163

174-
(発展) [`Array#reduce` メソッド](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce)は、`Array` クラスのメソッドの中でも特に使い方の難しいメソッドです。ドキュメントをよく読み、このメソッドを用いて配列の最小値を求めてみましょう。
164+
### 問題 3 (発展)
165+
166+
[`Array#reduce` メソッド](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce)は、`Array` クラスのメソッドの中でも特に使い方の難しいメソッドです。ドキュメントをよく読み、このメソッドを用いて配列の最小値を求めてみましょう。
175167

176168
```javascript
177169
const scores = [90, 65, 70, 55, 80];

0 commit comments

Comments
 (0)