JAVASCRIPT

제어 구문

걍가영 2019. 7. 23. 20:00

제어구문

조건문

if...else구문

조건에 따라 특정 영역의 코드를 실행시키거나 실행시키지 않을 수 있습니다. else가 필요없는 경우 else를 생략할 수 있습니다.
if...else 구문의 중첩이 가능합니다.

function roll() {
     return Math.ceil(Math.random() * 6);
}

function game() {
     const result = roll();
     alert(`결과: ${result}`);

    //if...else구문
    if (result >= 4) {
    // 괄호 안의 조건을 만족하면, 즉 결과값이 true 이면 
    // 이 영역의 코드가 실행됩니다.
    alert('당신이 이겼습니다!');
    } else {
    // 결과값이 false 이면
    // 대신 이 영역의 코드가 실행됩니다.
   }
}
game();

 

//  else를 생략
if (result  === 6) {
    alert('당신은 운이 좋아요');
     }

 

 

 

switch 구문

하나의 변수에 대해 많은 경우의 수가 있는 경우는 switch구문을 사용하면 코드를 더 보기 좋게 만들 수 있습니다.

case, break, default 함께 사용

function chageColor(english)  {
     let result;

     switch (english) {
      case 'red':
         result = '빨간색';
         break;
      case 'blue':
        result = '파란색';
        break;
      case 'purple':
        result = '보라색';
        break;
     default:
        result = '일치하는 색깔이 없습니다';
   } 
   return result;
}

 

switch 바로 뒤의 괄호의 값이 '코드 실행 여부를 판별할 기준이 되는 값'이고,
이 기준이 되는 값과 case 바로 뒤에 오는 값이 일치하면 콜론(:) 뒤의 코드 영역이 실행됩니다.
일치하는 값이 없으면 default 코드 영역이 대신 실행됩니다.

case 뒤쪽의 코드 영역 마지막에 break를 써주지 않으면, 해당 case가 실행될 때 바로 뒤의 case코드 영역이 뒤이어 실행되게 됩니다.


반복문

while 구문

let i  = 0; //초기값
while (i < 5) {
     //위 괄호의 값이 'true'인 동안에는
     //이 안쪽의 코드를 반복해서 실행시킵니다
    consolo.log(\`현재 i의 값: ${i}\`);
    i++; //갱신
}
console.log('루프가 종료되었습니다');

do...while 구문

내부 코드를 무조건 한 번은 실행시킵니다.

do {
     console.log('hello!');
} while (false); //절대 'true'가 될 수 없지만, 루프는 1회 실행됩니다.

for구문
초기값을 정할 수 있고 갱신을 위한 코드가 짧은 경우에는 for 구문을, 그렇지 않은 경우에는 while 구문을 사용해야 코드가 깔끔해집니다.

//for(초기값 정의; 실행조건; 갱신) { ... }

for (let i = 0; i <  5; i++) {
     console.log(`현재 i의 값: ${i}`);
}
console.log('루프가 종료되었습니다');

 

forEach

const arr = [1, 2, 3, 4, 5];
arr.forEach((item, index) => {
    console.log(`배열의 ${i+1}번째 요소는 ${arr[i]}입니다.`);
}

for...of

const arr = [1, 2, 3, 4, 5];
for  (let item of arr) {
     colsole.log(`현재 요소는 ${item} 입니다.`);
}

break, continue

루프를 도중에 멈추거나, 남은 코드를 건너뛰어버리고 루프의 다음 번 차례로 넘어가야 할 경우 break, continue를 사용하면 됩니다.

alert('퀴즈를 시작합니다')

while (true) {
     const anwer = prompt('무지개는 몇개의 색일까요?');
     if (answer === 7) {
        alert('정답입니다');
        break; // 루프를 종료하고 다음 코드로 넘어감  
     }else {
       alert('틀렸습니다');
   }
}

alert('퀴즈가 종료되었습니다');