-
-
Notifications
You must be signed in to change notification settings - Fork 224
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(while): while文とdo-while文を追加 #91
Merged
Changes from 1 commit
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,14 +5,75 @@ author: azu | |
# ループと反復処理 | ||
|
||
|
||
プログラミングにおいて、同じ処理を繰り返すために同じコードを書くことはありません。 | ||
ループや再帰呼び出し、イテレータなどを使い反復処理は抽象化されます。 | ||
プログラミングにおいて、同じ処理を繰り返すために同じコードを必要はありません。 | ||
ループや再帰呼び出し、イテレータなどを使い、反復処理は抽象化します。 | ||
ここでは、もっとも基本的な反復処理となるループについてを学んでいきます。 | ||
|
||
## while文 | ||
|
||
while文は`条件式`が`true`であるならば、反復処理を行います。 | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
これどこかで触れたい気もするけど、どこに書けばいいのかが分からない |
||
```js | ||
while (条件式) | ||
実行する文; | ||
``` | ||
|
||
while文の実行フローは次のようになります。 | ||
|
||
1. `条件式` の評価結果が`true`なら処理を続け、`false`なら終了 | ||
2. `実行する文`を実行 | ||
3. ステップ1へ戻り繰り返す | ||
|
||
次のコードでは`x`の値が10未満であるなら、コンソールへ繰り返しログが出力されます。 | ||
また、`実行する文`にて、`x`の値を増やし`条件式`が`false`となるようにしています。 | ||
|
||
```js | ||
var x = 0; | ||
while (x < 10) { | ||
console.log(x); | ||
x += 1; | ||
} | ||
``` | ||
|
||
つまり、`実行する文`の中で`条件式`が`false`となるような処理を書かないと無限ループします。 | ||
JavaScriptにはより安全な反復処理の書き方があるため、while文は使う場面が限られています。 | ||
|
||
安易にwhile文を使うよりも、他の書き方で解決できないかを考えてからでも遅くはないでしょう。 | ||
|
||
## do-while文 | ||
|
||
do-while文はwhile文と殆ど同じですが実行フローの順番ことなります。 | ||
|
||
```js | ||
do { | ||
実行する文; | ||
} while (条件式); | ||
``` | ||
|
||
do-while文の実行フローは次のようになります。 | ||
|
||
1. `実行する文`を実行 | ||
2. `条件式` の評価結果が`true`なら処理を続け、`false`なら終了 | ||
3. ステップ1へ戻り繰り返す | ||
|
||
while文とは異なり、かならず最初に`実行する文`を処理します。 | ||
|
||
そのため、次のコードのように最初から`条件式`を満たさない場合でも、 | ||
初回の`実行する文`が処理され、コンソールへ`1000`と出力されます。 | ||
|
||
```js | ||
var x = 1000; | ||
do { | ||
console.log(x);// => 1000 | ||
} while (x < 10); | ||
``` | ||
|
||
この仕組みを上手く利用し、ループの開始前とループ中の処理をまとめて書くことができます。 | ||
しかし、while文と同じく他の書き方で解決できないかを考えてからでも遅くはないでしょう。 | ||
|
||
## for文 | ||
|
||
for文はもっとも基本的な反復処理です。 | ||
JavaScriptのfor文はC言語やJavaと同様の構文になります。 | ||
for文は繰り返す範囲を指定した反復処理を書くことができます。 | ||
|
||
```js | ||
for (初期化式; 条件式; 増分式) | ||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
最初から条件式を満たさない場合は実行されないというのを入れるべきかな