@@ -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) => {
8888document .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
177169const scores = [90 , 65 , 70 , 55 , 80 ];
0 commit comments