2424 - [ 3-5. 論理演算] ( #3-5-論理演算 )
2525 - [ 4. 条件によって処理を変えよう] ( #4-条件によって処理を変えよう )
2626 - [ 4-1. 比較演算子] ( #4-1-比較演算子 )
27- - [ 4-2. if文 ] ( #4-2-if文 )
27+ - [ 4-2. if 文 ] ( #4-2-if-文 )
2828 - [ 4-3. 三項演算子] ( #4-3-三項演算子 )
2929 - [ 5. 繰り返し処理をさせよう] ( #5-繰り返し処理をさせよう )
3030 - [ 5-1. 配列] ( #5-1-配列 )
@@ -288,72 +288,72 @@ value += 2; // value = value + 2; と同じ
288288
289289## 4. 条件によって処理を変えよう
290290
291- 数学の問題でも場合分けが発生するように 、プログラムでも条件によって処理を変更したいことがあります。
292- ここではプログラムで条件分岐を記述する方法を説明します 。
291+ 数学の問題で場合分けが発生するように 、プログラムでも条件によって処理を変更したいことがあります。
292+ ここでは二次方程式の判別式を例に、条件分岐を記述する方法を説明します 。
293293
294294### 4-1. 比較演算子
295295
296- 場合分けが発生する簡単な例として、二次方程式の判別式Dがあります。判別式Dは以下の式で、次のような分岐がわかります。
297- 判別式D: $D = b^2 - 4ac$
298- 判別式Dの結果が
296+ まずはじめに判別式 $D$ は以下の式で表され、 $D$ の値によって3つの分岐がわかります。
299297
300- - 正の値 → 実数解
301- - 0 → 重解
302- - 負の値 → 虚数解
298+ $D = b^2 - 4ac$
303299
304- これは判別式Dの結果を` value ` として、それぞれ比較演算子を用いて以下のように表現できます。
300+ - 正の値 のとき 実数解をもつ
301+ - 0 のとき 重解をもつ
302+ - 負の値 のとき 虚数解をもつ
305303
306- - 正の値 → ` value > 0 `
307- - 0 → ` value === 0 `
308- - 負の値 → ` value < 0 `
304+ ここで $D$ の結果を ` value ` という変数に置き換えたとき、それぞれの条件は比較演算子を用いて以下のように表せます。
309305
310- JSではこのようにして値の大小や等価かどうかを比較できます。
311- 以下に比較演算子の表を示します。
306+ - 正の値 → ` value > 0 `
307+ - 0 → ` value === 0 `
308+ - 負の値 → ` value < 0 `
309+
310+ JS ではこのようにして値の大小や等価かどうかを比較できます。以下に比較演算子の表を示します。
312311
313312| 演算 | 記述 |
314313| ---- | ---- |
315314| ` 厳密等価 ` | ` a === b ` |
316315| ` 厳密不等価 ` | ` a !== b ` |
317- | ` 超過/ より大きい ` | ` a > b ` |
316+ | ` 超過 / より大きい ` | ` a > b ` |
318317| ` 以上 ` | ` a >= b ` |
319- | ` 未満/ より小さい ` | ` a < b ` |
318+ | ` 未満 / より小さい ` | ` a < b ` |
320319| ` 以下 ` | ` a <= b ` |
321320
322321<details >
323- <summary >厳密でない等価/ 不等価</summary >
322+ <summary >厳密でない等価 / 不等価</summary >
324323
325- 厳密等価/厳密不等価の演算が存在するということは 、厳密** でない** 等価・不等価の演算があると言うことです。
326- これらは暗黙的な型変換を行うため一見して予想できない挙動をすることがあります。
327- このため、厳密等価演算子・ 厳密不等価演算子を使用することが推奨されます。
328- 以下に厳密でない等価・ 不等価演算子の表を示します。
324+ 厳密等価 / 厳密不等価とは逆に 、厳密** でない** 等価 / 不等価も存在します。
325+ これらは暗黙的な型変換を行うため、一見して予想できない挙動をすることがあります。
326+ このため、厳密等価 / 厳密不等価演算子を使用することが推奨されます。
327+ 以下に厳密 ** でない ** 等価 / 不等価演算子の表を示します。
329328
330329 | 演算 | 記述 |
331330 | ---- | ---- |
332331 | 等価 | ` == ` |
333332 | 不等価 | ` != ` |
334333
335- 繰り返しになりますが、厳密でない演算子の使用は非推奨です。
336334</details >
337335
338- ### 4-2. if文
336+ ### 4-2. if 文
337+
338+ 4-1. では比較演算子を用いて条件を表現する方法を説明しました。ここでは判別式 $D$ の結果を評価し、実数解・重解・虚数解のどれをもつのか出力するプログラムを考えてみましょう。
339339
340- 3-1.でプログラムで条件を表現する方法を説明しました。先程の判別式Dの結果を評価し、実数解、重解、虚数解のどれになるかを出力するプログラムを作ることを考えてみましょう。
341- 評価の結果によって処理を分岐させるためには ` if ` 文を使います。
340+ 評価の結果によって処理を分岐させるためには ` if ` 文を使います。
342341
343342``` javascript
344343if (< 条件1 > ) {
345- 条件1 が真のときの処理
344+ 条件1 が真のときの処理
346345} else if (< 条件2 > ) {
347- 条件2 が真のときの処理
346+ 条件2 が真のときの処理
348347} else {
349- 条件 1 も条件 2 も偽のときの処理
348+ 条件 1 と条件 2 が偽のときの処理
350349}
351350```
352351
353- if文は` () ` 内の評価結果が真のときに直後の` {} ` で囲まれたブロック内の処理を行い、` () ` 内の評価結果が偽のときに直後の` else ` 句の処理を行います。このとき、` else ` のあとに` if ` でif文をつなげることで条件分岐を追加できます。` else ` 句のあとにある` {} ` ブロック内の処理は、それより前にある` if ` と` else if ` のすべての条件を満たさなかったときに実行されます。
354- ` if ` \~ ` else if ` \~ ` else ` 句は一連の処理の塊として捉えられます。この中で上から順に評価が行われるため、条件の順番には気をつける必要があります。
352+ if 文は ` () ` 内の評価結果が真のとき、直後の ` {} ` で囲まれたブロック内の処理を行います。反対に偽であるときは直後の ` else ` 句の処理を行います。このとき、` else ` のあとに ` if ` で if 文をつなげることで条件分岐を追加できます。
353+ ` else ` 句のあとにある ` {} ` ブロック内の処理は、それより前にある ` if ` と ` else if ` のすべての条件を満たさなかったときに実行されます。
354+ ` if ` から ` else ` までは一連の処理の塊として捉えられます。この中で上から順に評価が行われるため、条件の順番には気をつける必要があります。
355355
356- では判別式の結果から解がどうなるかを出力するプログラムを以下に書きます 。
356+ では判別式 $D$ の結果を評価して、どの解をもつのか出力するプログラムを以下に示します 。
357357
358358``` javascript
359359let a, b, c;
@@ -364,17 +364,17 @@ c = <定数項>;
364364const d = b ** 2 - 4 * a * c;
365365
366366if (d === 0 ) {
367- console .log (' 重解' );
367+ console .log (' 重解' );
368368} else if (d > 0 ) {
369- console .log (' 実数解' );
369+ console .log (' 実数解' );
370370} else {
371- console .log (' 虚数解' );
371+ console .log (' 虚数解' );
372372}
373373```
374374
375375実行結果は以下のようになります。
376376
377- ![ 重解] ( imgs/if-discriminant-1.png ) ![ 実数解] ( imgs/if-discriminant-2.png )
377+ ![ 重解] ( imgs/if-discriminant-1.webp ) ![ 実数解] ( imgs/if-discriminant-2.webp )
378378
379379### 4-3. 三項演算子
380380
@@ -385,7 +385,7 @@ if (d === 0) {
385385value = < 条件> ? < 条件が真のときの値> : < 条件が偽のときの値> ;
386386```
387387
388- 例えばある値の真偽によって値を返したいときに活用できます。↑ の判別式の例を書き換えると以下のようになります。
388+ 例えばある値の真偽に応じて値を返したいときに活用できます。4-2. の判別式の例を書き換えると以下のようになります。
389389
390390``` javascript
391391let a, b, c;
@@ -404,10 +404,10 @@ const res = d === 0
404404console .log (res);
405405```
406406
407- 三項演算子はこのように三項演算子の下に三項演算子を書くことができます 。
408- しかし、階層が深くなると複雑で読みづらくなるので注意が必要です 。
407+ このように三項演算子の下に、新たに三項演算子を書くことができます 。
408+ しかし階層が深くなると複雑になり、読みづらくなるので注意が必要です 。
409409
410- ![ 三項演算子] ( imgs/conditional-operator-1.png ) ![ 三項演算子] ( imgs/consitional -operator-2.png )
410+ ![ 三項演算子] ( imgs/conditional-operator-1.webp ) ![ 三項演算子] ( imgs/conditional -operator-2.webp )
411411
412412## 5. 繰り返し処理をさせよう
413413
0 commit comments