IT/JavaScript

[자바스크립트] false가 될때까지 무한 루프되는 while

김숭늉이 2023. 8. 20. 21:04
728x90

 

안녕하세요 💕

이번글에서는 자바스크립트 while에 대해서 알아보겠습니다.

while의 경우 조건이 false가 될때까지 무한정 계속 실행이 되는 무한 루프의 개념입니다.

var i = 1;

while(i <= 10){  // i가 3이 될때까지 while문 실행 
    console.log(i);
    i ++; 
}

/////////콘솔창 결과 

  1
  2
  3

 

그럼 아래 첫번째 예문을 통해서 알아볼까요? 

4번째줄 while문을 통해서 100까지의 숫자를 찍어볼수 있습니다.

var output = [];
var count = 1;

function fizzBuzz() {

while(count <=100) { /// count가 100까지 무한정으로 아래 함수를 자동으로 실행합니다.
if (count % 3 === 0 && count % 5 === 0) {
    output.push("FizzBuzz");
} 
else if (count % 3 === 0) {
    output.push("Fizz");
} 
else if (count % 5 === 0) { 
    output.push("Buzz");
} 
else {
    output.push(count);
}
count++;
}    
console.log(output);
}

/////// 아래와 같이 결과값이 찍힙니다///////

(100) [1, 2, 'Fizz', 4, 'Buzz', 'Fizz', 7, 8, 'Fizz', 'Buzz', 11, 'Fizz',
13, 14, 'FizzBuzz', 16, 17, 'Fizz', 19, 'Buzz', 'Fizz', 22, 23, 'Fizz', 'Buzz',
26, 'Fizz', 28, 29, 'FizzBuzz', 31, 32, 'Fizz', 34, 'Buzz', 'Fizz', 37, 38,
'Fizz', 'Buzz', 41, 'Fizz', 43, 44, 'FizzBuzz', 46, 47, 'Fizz', 49, 'Buzz', 
'Fizz', 52, 53, 'Fizz', 'Buzz', 56, 'Fizz', 58, 59, 'FizzBuzz', 61, 62, 'Fizz',
64, 'Buzz', 'Fizz', 67, 68, 'Fizz', 'Buzz', 71, 'Fizz', 73, 74, 'FizzBuzz', 76,
77, 'Fizz', 79, 'Buzz', 'Fizz', 82, 83, 'Fizz', 'Buzz', 86, 'Fizz', 88, 89, 
'FizzBuzz', 91, 92, 'Fizz', 94, 'Buzz', 'Fizz', 97, 98, 'Fizz', 'Buzz']

 

두번째는 while문을 활용하여 1씩 감소하는 구문입니다.

99개의 맥주가 하나씩 줄어드네요..^^

function beer(){
var numberOfBeer = 99; // 99개의 맥주
  while (numberOfBeer >= 0){  // 0이 될때까지 while문을 돌림
       console.log(numberOfBeer + " on the wall"); 
       numberOfBeer--; // 1씩 감소함
  }
}

 

var numberOfBottles = 99 // 맥주 99개로 시작
while (numberOfBottles >= 0) { // 0이 될때까지 while 문을 돌림
    var bottleWord = "bottles"; // 맥주가 여러개이면 복수
    if (numberOfBottles === 1) { // 맥주가 1개이면 단수
        bottleWord = "bottle";
    } 
    console.log(numberOfBottles + " " + bottleWord + " of beer on the wall");
    console.log(numberOfBottles + " " + bottleWord + " of beer,");
    console.log("Take one down, pass it around,");
	numberOfBottles--; // 99에서 1씩 줄어듬
    console.log(numberOfBottles + " " + bottleWord + " of beer on the wall.");
}

 

감사합니다.

 

 

728x90
반응형