Language/javascript

자바스크립트의 제어문(조건문, 반복문 빠져나오는 법)

도잎 2022. 12. 10. 23:28
반응형

어떤 언어를 사용하던 조건문과 반복문은 정말 많이 사용하게 될 수밖에 없다. 각각의 Case에 따라 내가 원하는 결과를 얻기 위해서 조건문을 사용하고, 반복문을 통해 하나의 코드로 동일한 작업을 수행할 수 있도록 해줄 수 있다.

1. 조건문( if문 )

가장 대표적인 조건문 사용방법은 if문을 사용하는 것이다. 입력받은 점수가 60이하일 때, 재시험 대상이라는 문구를 띄워주었다.

const mathScore = prompt('영어 점수를 입력해주세요.')
 
if(mathScore <= 60) {
  alert('재시험 대상입니다.')
}

 

여기서 60이하일 때를 제외한 다른 조건을 추가하고 싶다면 else if, else 를 사용하면 된다. 앞서 배운 비교연산자를 조건문에 이용해 아래와 같은 결과를 이끌어낼 수 있는 것이다.

const score = (EnglishScore) => {
  if(EnglishScore > 90) {
    alert('잘했어요!')
  } else if(EnglishScore > 70) {
    alert('조금 더 분발하세요.')
  } else {
    alert('재시험 대상입니다!')
  }
}
 
score(40) // 재시험 대상입니다!
score(58) // 재시험 대상입니다!
score(85) // 조금 더 분발하세요.
score(100) // 잘했어요!

 

2. 조건문 ( switch문 )

보통 주로 if문을 사용해서 switch문을 사용해본적은 거의 없는 것 같은데 아래와 같이 작성해볼 수 있다.

// 코드가 원하는대로 실행되지 않는 문제
 
let subject = prompt('어떤 수업 시간인가요?'); // 수학
 
switch(subject){
  case '국어' :
    console.log('국어 시간입니다.');
  case '수학' :
    console.log('수학 시간입니다.');
  case '영어' :
    console.log('영어 시간입니다.');
  }
  
  // 수학 시간입니다.
  // 영어 시간입니다.
  
 
// break를 통해 원하는 값만 얻기
 
let subject = prompt('어떤 수업 시간인가요?'); // 수학
 
switch(subject){
  case '국어' :
    console.log('국어 시간입니다.');
    break;
  case '수학' :
    console.log('수학 시간입니다.');
    break;
  case '영어' :
    console.log('영어 시간입니다.');
    break;
  }
  
  // 수학 시간입니다.

 

if문의 경우에는 조건에 해당하지 않을 때를 else를 사용해 구분해주었지만 switch문에서는 default를 통해 조건이 맞지 않을 때를 표현할 수 있다.

let subject = prompt('어떤 수업 시간인가요?'); // 음악
 
switch(subject){
  case '국어' :
    console.log('국어 시간입니다.');
    break;
  case '수학' :
    console.log('수학 시간입니다.');
    break;
  case '영어' :
    console.log('영어 시간입니다.');
    break;
  default :
    console.log('제대로 입력해주세요.')
}
 
// 제대로 입력해주세요.

 

3. 반복문( for문 )

반복문은 하나의 코드로 동일한 형태를 반복해서 표현해줄 수 있으며, 반복문과 조건문을 같이 사용해서 적절한 결과를 도출할 수 있다.

for(let i = 0; i < 7; i++) {
  console.log(i)
}
 
// 0
// 1
// 2
// 3
// 4
// 5
// 6

 

4. 반복문( while문 )

while 문은 for문과 다르게 처음 초기값을 지정해주고 while문 안에는 조건을 걸어준다. 만약 초기값 i가 0인 상태에서 while문 안에 아래와 같은 조건만 넣어주게 되면 반복문은 무한루프에 빠지게 된다.

let i = 0;
 
while(i < 6) {
  console.log(i)
}

 

그래서 위와 같이 작성하는 것이 아니라 아래와 같이 작성해주어야한다.

let i = 0;
 
while(i < 6) {
  console.log(i)
  i++;
}

 

5. 반복문( do while문 )

do while문은 while과 비슷하지만 조건문을 아래로 옮길 수 있다는 특징이 있다. 또한 while문은 루프에 들어가기 전, 조건식을 먼저 검사하는 특징이 있지만 do while문은 루프를 먼저 한번 실행한 후에 조건식을 검사한다는 특징을 가진다.

let i = 0;
 
do{
  i++;
  console.log(i)
} while(i < 6)
 
// 1
// 2
// 3
// 4
// 5
// 6

 

6. 반복문에서 탈출하기 ( break와 continue )

반복문 내에서 break를 실행하면 코드 실행을 멈추고 해당 반복문을 빠져나온다.

while(true) {
  let answer = confirm('계속 할까요?!')
  if(!answer){
    break;
  }
}

 

continue는 반복을 멈추고 다음 반복으로 진행되기 때문에 반복문을 빠져나올 수는 없다. 하지만 아래와 같이 사용이 가능하다.

for(let i = 0; i < 10; i++) {
  if(i % 2) {
    continue;
  }
  console.log(i)
}
 
// 0
// 2
// 4
// 6
// 8
반응형