Open2

JavaScriptつみトレ5章 処理を繰り返す

あ

sec1_for文による繰り返し

指定した数だけ処理を繰り返す「for文」

for (初期化式 ; 条件式 ; 繰り返しのたびに実行する処理 ; ){
  条件が真である間、繰り返す処理
}

for文では、初期化式で繰り返しの数を数えるためのカウンタとして「 i 」と言う変数名が使われる
はじめにカウンタに0を代入しておく

c5_1_1.js
for (let i=0;i<3;i++){
    console.log('ぺテルはイエスを知らないと言う',i);
}
console.log('ニワトリが鳴く');

「 i++ 」によって繰り返しのたびにカウンタの値が1ずつ増えていく
そして、カウンタの値が「 i < 3 」の条件にあてはまらなくなったところで繰返しが終了している

for-of文

c5_1_2.js
let targets = ['マトA','マトB','マトC'];
for(let i=0;i<3;i++){
    console.log(`${targets[i]}に手裏剣を投げた`);
}

↑のように、各要素に対して処理を行いたい場合のために「for-of文」を使う

for( let target(変数) of targets(配列) ){
  実行する処理
}

c5_1_3.js
let targets = ['マトA','マトB','マトC'];
for(let target of targets){
    console.log(`${targets}に手裏剣を投げた`);
}

配列targetsの要素が、1つずつ順番に変数targetに入ってる
要素の数だけ繰り返す

繰返し処理の中に繰り返し処理を書くこともできる

c5_1_4.js
let consonants = ['','k','s','t','n'];
let vowels = ['a','i','u','e','o'];
for(let consonant of consonants){
    for(let vowel of vowels){
        console.log(`${consonant}${vowel}`);
    }
}
あ

sec2_while文による繰り返し

while文

whileを使えば、処理を行う条件だけを指定して繰り返し処理が実行できる
if文に近い形式で書く

while (password !== '川'){
実行する処理
}

c5_2_1.js
let password ='';
while(password !=='川'){
    password = (prompt('山?:'));
}
console.log('入れ');

後判定のdo...while文

後判定の繰り返し処理では
処理→条件の判定→処理→条件の判定 の手順で繰り返されるため、最初から条件が成立してない場合でも、必ず一回は繰り返しの処理が行われる

do {
実行する処理
}
while(条件)

c5_2_2.js
do {
    console.log('せめて一度だけでも');
}
while(false)

無限ループを書いてしまった場合

c5_2_3.js
let tsumami= 'shiokara';
while(tsumami !==''){
    console.log('sake');
    console.log(tsumami);
}

while文は条件式がTrueである限り無限に同じ処理を繰り返してしまうので、無限ループに陥ってしまった場合はブラウザのタブを閉じてプログラムを停止させなければいけない