[ JavaScript 총정리 3 ] if / switch / while / do while / for / 중첩반복문

yricog·2022년 3월 15일
1

JavaScript_Basic

목록 보기
19/28
post-thumbnail

Conditional operators (if)

  • if / else if / else

<script>
    const id = 'yura';

    if(id === 'yura'){
        console.log('welcome, yura!');
    } else if (id === 'coder'){
        console.log('You are amazing coder!');
    } else {
        console.log('Unknown');
    }
    
    // welcome, yura! 
</script>

Ternary operator (간단한 if식)

  • condition ? value1 : value2;

    조건이 맞으면 value1, 아니면 value2를 출력한다.
<script>
	console.log(id === yura' ? 'yes' : 'no'); //yes
</script>

Switch statement (if문에서 else if를 여러번 반복할 때 유용)

<script>
    const browser = 'Firefox';
    
    switch (browser){
        case 'IE': 
            console.log('go away!');
            break;
        case 'Chrome':
        case 'Firefox':     //같은 값일 땐 연달아서 작성 
            console.log('love you');
            break;
        default:
            console.log('same all');
            break;
    }   //love you
</script>

While Loops

  • 조건이 참인 동안 반복해서 코드를 실행한다.
<script>
    let i = 3;
    while (i > 0){
        console.log(`while: ${i}`);  
        i--;
    }   // while: 3, while: 2, while: 1 출력 
</script>

i(=3)가 0보다 크면 콘솔창에 출력 후 i값을 감소시키고, 감소시킨 i(=2)가 다시 조건에 부합한지 확인 후 콘솔창 출력. i가 0이 될때 멈춘다.

do while

  • 코드를 먼저 출력한 뒤, 조건에 맞는지 검사한다.
<script>
    do{
        console.log(`do while: ${i}`);  
        //위에서 최종값이 'i=0'이기 때문에 일단 0출력 
        i--;
    } while (i > 0);
</script>

for loop

  • for(begin; condition; step) - 시작값; 조건문; 연산

    시작값이 조건문에 맞으면 코드를 실행하고, 그 다음 연산을 적용해서 다시 조건에 맞으면 코드를 실행한다.
<script>
    for (i = 3; i > 0; i--){
        console.log(`for: ${i}`);  // for: 3, for: 2, for: 1  
    }

    for (let i = 3; i > 0; i -= 2){
        //inline variable declaration : 조건문 안에 let 변수를 선언 
        console.log(`inline variable for: ${i}`);  // 3, 1 출력 
    }
</script>

nested loops 중첩 반복문

  • O(n2) 이기때문에 CPU에 좋지 않다. 되도록 쓰지 말것..!
<script>
    for( let i = 0; i < 10; i++){ 
        for(let j = 0; j < 10; j++){
            console.log(`i: ${i}, j:${j}`);
        }
    }
</script>

i가 0이면 조건에 부합하니 중첩문 코드를 실행하여 j를 0-9까지 빙빙 돌리고, j가 10이면 다시 빠져나와 i에 1을 더해서 다시 중첩문 j를 0-9까지 빙빙돌리고...를 계속 반복한다.

반복문은 중간에 break, continue를 쓸 수 있다.

  • break : 반복을 끝낸다.
  • continue : 스킵하고 다음으로 넘어간다.



Quiz1.

iterate from 0 to 10 and print only even numbers (use continue)
= continue를 사용하여, 0부터 10까지 반복하며 짝수를 출력하라.

<script>
	// 정답 
	for(let i = 0; i < 11; i++;){
		if(i % 2 !== 0){
        	continue;  // 이 뒤의 모든 코드를 스킵하고 다시 처음으로~!
        }
        console.log(`${i}`);
    }
    
	// continue 없는 버전 (Good)
	for(let i = 0; i < 11; i++;){
		if(i % 2 === 0){
        	console.log(`${i}`);
        }
    }
</script>

Quiz2.

iterate from 0 to 10 and print numbers untill reaching 8(use break)
= break을 사용하여, 0부터 10까지 반복하되 숫자 8까지만 출력하라.

<script>
	// 정답 
	for(let i = 0; i < 11; i++){
    	if(i > 8){
        	break;
        }
        console.log(`${i}`);
    }
</script>

Elli's DreamCoding 영상을 정리한 내용입니다. 🌱드림코딩 by엘리

profile
의미와 가치를 쫓는 개발자 ✨

0개의 댓글