ループ

1から100までの数字を表示したり、単語の各文字にあいさつをしたり、答えが正しくなるまで繰り返し質問したいとします。同じ行を何百回も書くことはできますが、それは入力が面倒で、変更はさらに大変です。ループは、JavaScriptにコードを繰り返し実行させる方法です。作業を1回書いて、言語に繰り返させます。この章では、最もよく使用される3つのループをカバーします:for、while、for...ofです。
for ループ
**for ループ**は、繰り返す回数がわかっているときに使用します。カウント機能が組み込まれています。0から4までの数字を表示する例です:
for (let i = 0; i < 5; i++) {
console.log(i);
}
// 0
// 1
// 2
// 3
// 4括弧内の部分は、セミコロンで区切られた3つの部分があります:
let i = 0は開始です:iというカウンターを作成して0に設定します。i < 5は条件です:この条件が真である限り、ループは続きます。i++はステップです:各パスの後、iに1を加えます(i++はi = i + 1の短縮形です)。
つまり、ループはiを0で開始し、i < 5をチェックし、中括弧内のコードを実行してから1を加えてもう一度チェックします。iが5に達すると条件は偽になり、ループは停止します。
forループは固定回数繰り返され、カウント機能が組み込まれています。ヘッダーには3つの部分があります:let i = 0のような開始、i < 5のような条件でループを続け、i++のようなステップでそれを進めます。条件が偽になると、ループは停止します。 while ループ
時には繰り返す回数がわからず、真のままであるべき条件だけがわかることがあります。それが**while ループ**の用途です。条件が成り立つ限り実行し続けます:
let count = 3;
while (count > 0) {
console.log(count);
count = count - 1;
}
console.log("Go");
// 3
// 2
// 1
// Goループはcount > 0をチェックし、コードを実行してから、もう一度チェックします。ループ内の何かがcountを変更することに注目してください。そうすることで条件は最終的に偽になり、ループは停止します。内部で条件を偽にするものがない場合、ループは永遠に実行されます。これは無限ループで、プログラムがフリーズするため、常に条件が変わる可能性があることを確認してください。
whileループは条件が真である限り繰り返され、組み込みのカウンターがありません。繰り返し回数があらかじめわからない場合に使用してください。常にループ内の何かを変更して条件を偽にできるようにするか、プログラムをフリーズさせる無限ループが発生します。 for...of で文字列をループする
forループとwhileループはカウンターで数を扱いますが、通常は何かの各項目を直接訪問したいことがあります。**for...of**がそれを行います。ここで単語の各文字を歩きます:
for (const char of "hello") {
console.log(char);
}
// h
// e
// l
// l
// oこれを「単語の各文字について」と読んでください。各パスで、charは次の文字を保持し、カウンターや条件に触れることはありません。各項目を順番に見たいだけの場合、forループよりも整理されています。
for...ofは主に配列で使用します。配列は次の章で学ぶ値のリストです。文字列は文字の順序であり、for...ofはそれをまさにそのように扱うため、ループする最初の良いものです。
for...ofは各項目を直接訪問し、管理するカウンターや条件がありません。文字列では、各パスは次の文字を与えます。その後、配列で最もそれを使用しますが、文字列は文字の順序であるため、ループする整理された最初のものです。 ここからループがどこへ向かうか
ループは、自分自身を繰り返す必要をなくし、言語に繰り返させるための方法です。forループは既知の回数をカウントし、whileは条件が成り立つ限り繰り返され、for...ofはシーケンスの項目を直接歩きます。ここから持ち出すべき1つの習慣:すべてのループが終了できることを確認し、各項目が必要な場合はfor...ofを優先してください。
ループが重要な本当の理由は、使用するデータのほとんどがコレクションで来ることです。次の章では配列を紹介します。これは、常にループするリストで、その後配列メソッドは、データを変換しているときに手書きループを置き換えることが多いです。ループが依存する条件を研ぎ澄ましたい場合、条件は、ループが続く場合と停止する場合を決定する比較をカバーしています。

