• 제어문
    • 코드의 흐름을 제어를 하는 문법

    • 조건문(분기문)

      • 조건에 따라 코드의 흐름을 제어하고자 할때

      • if문~else문

        if(조건){
        	//조건이 참이면 코드 실행
        }
        else{
        	//조건이 거짓이면 코드 실행
        }
        
        var traffic = 'green';
        if(traffic === 'green'){
        	console.log("건너가세요");
        }//건너가세요
        
        var traffic = 'red';
        if(traffic === 'green'){
        	console.log("건너가세요");
        }//출력 X
        
        var traffic = 'red';
        if(traffic === 'green'){
        	console.log("건너가세요");
        } else {
        	console.log("기다리세요");
        }//기다리세요.
        
        var traffic = 'green';
        if(traffic === 'green'){
        	console.log("건너가세요.");
        }else if(traffic === 'yellow'){
        	console.log("기다리세요.");
        }else {
        	console.log("건너지 마세요");
        }//건너가세요
        
      • 삼항연산자

        참이라면 : 왼쪽에 있는 참이면 코드 실행 코드가 조건안에 있는 코드가 거짓이라면 : 오른쪽에 있는 거짓이면 코드 실행 코드가 실행됩니다.

        조건식 ? 참이면 코드 실행 : 거짓이면 코드 실행
        
        • 예제

          var traffic = 'green';
          var canWalk = null;
          var canWalk = traffic === 'green' ? "건너자" : "아직 건너지 말자"
          
          //canWalk에 값을 대입합니다.
          //만약 traffic이 'green'과 일치연산자를 통해 일치하면 : 왼쪽의 "건너자"가 대입됩니다.
          //만약 일치하지 않는다면 : 오른쪽의 "아직 건너지 말자"가 대입됩니다.
          
          console.log(traffic);   // 건너자
          
          var traffic = 'red';
          var message = (traffic ==='red') ? "건너지마세요" : "건너도 됩니다.";
          //건너지마세요.
          
          var traffic = 'green';
          var message = (traffic ==='red') ? "건너지마세요" : "건너도 됩니다.";
          //건너도 됩니다.
          
    • 반복문

      • 특정 조건을 만족할 동안 반복하라는 문법

      • for문

        for (초기화식; 조건식; 증감식){
        		//조건식이 참인 경우 반복 실행될 코드;
        }
        
        • 예제문
        for(var i = 0; i <= 10; i++){
        		console.log(i);
        }
        //변수 i를 0으로 초기화 만약 10보다 작은 경우 
        //console.log(i);를 시행하고 후에 반복할 때마다 1을 증가시킨다.
        
        for(var i=1; i<=9; i++){
        		console.log(`구구단 ${i}단 출력`
        		for(var j=1; j<=9; j++){
        			console.log(`${i} X ${j} = ${i*j}`);
        	}
        }
        
      • while문

        while(조건){
        		//조건이 참일 경우 반복할 코드)
        }
        
        var count = 0;
        while ( count<10){
        	console.log(count);
        	count++;
        }
        
      • do~while문

        일단 한번 실행해보고(do), 그 다음 반복할지 여부를 판단(while)한다.

        do{
        	실행시킬 구문
        }
        while(조건식)
        
        • 한번은 무조건 해당내용을 실행시키고 그 다음 조건식을 보고 실행시킬 구문을 반복실행할지 판단하는 문법 → 최소 한번의 실행은 보장된다.

        • 예제

          let result = '';
          let i = 0;
          
          // 일단 먼저 do 에 있는 부분 실행
          do {
            i = i + 1;
            result = result + i;
          } while (i < 5);    // 그 다음 조건식 보기
          
          console.log(result);
          // expected result: "12345"
          
          //거짓이라도 무조건 한번은 실행됩니다.
          let result = '';
          let i = 6;
          
          do {
            i = i + 1;
            result = result + i;
          } while (i < 5);
          
          console.log(result);
          // expected result: 7
          
      • break & continue 문

        break : 반복문 강제종료 → break 문을 만나면 바로 반복문을 빠져나갑니다.

        continue : 이번 회차 반복만 skip하기 → 이번 회차는 건너뛰고 다음 회차로 갑니다.

        var num = 0;
        
        while(true) {
        	console.log("아직 num은 10이 아닙니다");
        	if(num === 10){
        		break;
        	} //10이 되면 반복문을 탈출한다.
        	num++;
        }
        console.log("반복문 탈출!");
        
        • 유용한 조합

          무한루프 + 분기문 + break문 ⇒ 특정 조건을 만족할 때까지 계속 반복해라.