[JS] 조건문, 반복문

jiny·2025년 10월 14일

기술 면접

목록 보기
62/78

🗣️ 자바스크립트의 조건문과 반복문에 대해 설명해주세요.

  • 의도: 지원자가 조건문(if, switch)과 반복문(for, while, do-while)을 이해하고 사용할 수 있는지 확인
    • 다양한 조건문과 반복문의 사용 예제를 준비한다.
    • 각 조건문과 반복문이 언제 적합한지 설명한다.
  • 모범 답안

    자바스크립트에서는 조건문반복문을 통해 코드의 흐름을 제어할 수 있습니다.

    먼저 조건문특정 조건에 따라 실행할 코드를 분기할 때 사용합니다.
    가장 기본적인 형태는 if-else if-else 문으로, 주어진 조건이 true일 때 해당 블록의 코드가 실행됩니다.
    또한, 여러 조건 중 하나를 선택할 때는 switch 문을 사용하기도 합니다.
    예를 들어, 점수에 따라 등급을 나누거나, 사용자 입력값에 따라 다른 동작을 수행할 때 사용됩니다.

    다음으로 반복문동일한 동작을 여러 번 수행할 때 사용합니다.
    대표적으로 for, while, do...while 문이 있습니다.
    for 문은 반복 횟수가 명확할 때 사용하며, 초기화식, 조건식, 증감식으로 구성됩니다.
    while 문은 조건이 true인 동안 반복을 계속합니다.
    do...while 문은 조건을 나중에 검사하므로, 최소 한 번은 실행됩니다.

    즉, 조건문어떤 코드를 실행할지 결정하고, 반복문얼마나 반복해서 실행할지를 제어하는 구조라고 정리할 수 있습니다.


📝 개념 정리

🌟 if-else if-else

가장 기본적인 조건문 형태

if (score >= 90) {
  console.log("A등급");
} else if (score >= 80) {
  console.log("B등급");
} else {
  console.log("C등급 이하");
}
  • 조건식에는 boolean 값으로 평가될 수 있는 식이 들어감
  • 조건식이 true인 블록만 실행되고, 나머지는 건너뜀
  • 여러 조건 중 하나만 실행하고 싶을 때 사용함

🌟 중첩 if문 (Nested if)

조건 안에 또 다른 조건을 넣어 세부 분기 처리를 할 수 있음

if (age >= 18) {
  if (hasTicket) {
    console.log("입장 가능");
  } else {
    console.log("티켓이 없습니다.");
  }
}
  • 주의: 중첩이 깊어질수록 가독성이 떨어지므로, 논리 연산자(&&, ||)를 활용해 간결하게 작성하는 것이 좋음
    if (age >= 18 && hasTicket) console.log("입장 가능");

🌟 switch 문

하나의 값이 여러 경우 중 어디에 속하는지를 비교할 때 사용함

switch (fruit) {
  case "apple":
    console.log("사과입니다.");
    break;
  case "banana":
    console.log("바나나입니다.");
    break;
  default:
    console.log("해당 과일 없음");
}
  • switch정확한 값 비교(===)를 수행함
  • case 뒤에는 break를 써야 다음 case로 넘어가지 않음
  • 여러 케이스를 묶을 수도 있음
    switch (day) {
      case "Sat":
      case "Sun":
        console.log("주말입니다.");
        break;
      default:
        console.log("평일입니다.");
    }

🌟 for

반복 횟수가 명확할 때 가장 많이 반복문

for (let i = 0; i < 5; i++) {
  console.log(`i: ${i}`);
}
// 결과
// i: 0
// i: 1
// i: 2
// i: 3
// i: 4
  • 구조: for(초기식; 조건식; 증감식)
  • 반복 전 초기식이 실행됨
  • 조건식이 참인 동안 반복함
  • 한 번 반복할 때마다 증감식이 실행됨
  • 실행 순서: 초기식조건식증감식조건식증감식 → ...

🌟 while

조건이 true인 동안 계속 반복함

let i = 0;
while (i < 5) {
  console.log(i);
  i++;
}
// 결과
// 0
// 1
// 2
// 3
// 4
  • 조건이 항상 참이면 무한 루프가 됨
  • 루프를 종료하려면 내부에서 조건을 바꾸거나 break를 사용해야 함

🌟 do...while

한 번은 무조건 실행되는 반복문

let i = 0;
do {
  console.log(i);
  i++;
} while (i < 5);
// 결과
// 0
// 1
// 2
// 3
// 4
  • 조건 검사를 반복 실행 후에 수행
  • 입력 검증, 메뉴 선택 같은 경우에 자주 사용됨

🌟 for...in / for...of

  • for...in : 객체의 속성(key)을 순회

    const user = { name: "현진", age: 25 }';
    for (let key in user) {
      console.log(`${key}: ${user[key]}`);
    }
    // name: 현진
    // age: 25
  • for...of : 배열, 문자열, Map, Set 등 반복 가능한 객체(iterable)의 값을 순회

    const arr = [10, 20, 30];
    for (let value of arr) {
      console.log(value);
    }
    // 결과
    // 10
    // 20
    // 30

🌟 break / continue

  • break : 반복문을 즉시 종료

    for (let i = 0; i < 10; i++) {
      if (i === 5) break;
      console.log(i);
    }
    // 결과
    // 1
    // 2
    // 3
    // 4
  • continue : 해당 반복만 건너뛰고, 다음 반복으로 진행함

    for (let i = 0; i < 5; i++) {
      if (i === 2) continue;
      console.log(i);
    }
    // 결과
    // 1
    // 3
    // 4
    // 5

0개의 댓글