[자바스크립트 Deep Dive] 8. 제어문

unhyif·2022년 5월 17일
0

조건에 따라 코드 블록을 실행하거나 반복 실행할 때 사용
-> 코드의 실행 흐름을 제어 가능함


8.1 블록문 {}

  • JS는 블록문을 하나의 실행 단위로 취급함

8.2 조건문

8.2.1 if ... else문

  • 조건문의 평가 결과에 따라 실행할 코드 블록을 결정함
  • 평가 결과가 불리언 값이 아니면 불리언 값으로 강제 변환됨
if (조건문 1) {
  // 조건문 1이 참일 경우
} else if (조건문 2) {
  // 조건문 2가 참일 경우
} else {
  // 조건문 1과 2가 모두 거짓일 경우
}

8.2.2 switch문

  • 표현식의 평가 결과와 일치하는 표현식을 갖는 case문을 실행함
switch (표현식) {
  case 표현식 1:
    // 표현식 평가 결과가 표현식 1일 경우
    break;
  case 표현식 2:
    // 표현식 평가 결과가 표현식 2일 경우
    break;
  default:
  // 표현식 평가 결과와 일치하는 case문이 없을 경우
}

8.3 반복문

  • 조건문의 평가 결과가 참일 동안 코드 블록을 실행함

8.3.1 for문

  • 반복 횟수가 명확할 때 주로 사용함
for (변수 선언문 또는 할당문; 조건식; 증감식) {
    // 조건식이 참으로 평가될 경우
}

cf) 변수 선언문은 한 번만 실행됨

중첩 for문

for (let i = 1; i < 4; i++) {
  for (let j = 1; j < 4; j++) {
    console.log(`i * j = ${i * j}`);
  }
} // i * j = 1
// i * j = 2
// i * j = 3
// i * j = 2
// i * j = 4
// i * j = 6
// i * j = 3
// i * j = 6
// i * j = 9

8.3.2 while문

  • 반복 횟수가 불명확할 때 주로 사용함
  • 조건문의 평가 결과가 불리언 값이 아니면 불리언 값으로 강제 변환됨
while (조건문) {
  // 조건문 평가 결과가 참일 경우
}

8.3.3 do...while문

  • 코드 블록을 먼저 실행하고 조건문을 평가함
do {
  // 처음엔 그냥 실행되고, 이후엔 조건문 평가 결과가 참일 경우 실행됨
} while (조건문);

8.4 break문

  • switch문과 반복문을 종료함

8.5 continue문

  • 반복문의 코드 블록 실행이 중단되고, 실행 흐름이 증감식으로 이동됨
  • 코드 가독성을 개선해 줄 수 있음
const str = 'Hello world';
for (let i = 0; i < str.length; i++) {
  if (str[i] !== 'l') continue;
  // do something here
}

0개의 댓글