SPACE RUMI

Hi, I am rumi. Let's Splattack!

[STUDY] 스터디/Deep Dive JS

js switch case 조건문 / 반복문의 continue, break

백루미 2022. 11. 18. 16:47
반응형

switch case

언제 if else 쓰고 언제 switch를 써야되지?

  • switch의 case에는 상수만 올수있다. 변수와의 비교가 불가능하다는 얘기..
  • 비교대상이 '상수'면 switch를 쓰고, 일반적으로는 if문을 쓴다.
  • 구현했을때 가독성이 더 좋을것으로 판단되는걸로 쓴다.

 

틀린코드

let score = 50;
switch (score){
    case score >= 0 && score < 50: // 이런식으로 상수가 아닌값은 올수가 없다.
        console.log('재수강');
        break;
    case score >=50 && score < 90:
        console.log('통과');
        break;
    case score >= 90:
        console.log('수석');
        break;
    default:
	console.log('무조건 default가 나온다');
}

 

맞는코드

const score = 100;
switch (score){
    case 50: 
        console.log('재수강');
        break;
    case 80:
        console.log('통과');
        break;
    case 90:
        console.log('수석');
        break;
    case 100:
        console.log('만점'); // 해당문 출력
        break;
    default:
	console.log('판단할 수 없음');
}

 

for문과 while문, do...while

언제 for문 써야되고 while문을 써야되지?

  • 반복횟수가 명확할때는 for문을 쓴다.
  • 반복횟수가 불명확할때는 while문을 쓴다.
  • while과 do..while의 차이점 : do..while은 최소 1회 실행하고, while은 값이 false면 한번도 실행하지 않을수있다.

 

loop를 탈출하려면 break를 쓴다.

let score = 0;
for (let i=1; i <= 10; i++) {
  if (i == 3) break; // 반복 종료
  score += i // 2 까지만 연산함
}

console.log(score); // 1 + 2 = 3

 

continue를 만나면 현 시점의 반복으로 다시 돌아간다 (continue 하단에 실행문을 실행하지 않음)

let count = 0;
for (let i=1; i <= 10; i++) {
  if (i == 7) continue; // 밑의 연산을 수행하지 않고 다음 반복으로 넘어감
  count += i //i 7인 경우 합산하지않음
}

console.log(count); // 1 + 2 + 3 + 4 + 5 + 6 + 8 + 9 + 10 = 48

 

반응형