본문 바로가기

Web 개발/JS

JavaScript 조건문

  • IF
    • if
    • if ~ else if
    • if ~ (else if) ~ else
    • Nasted IF (중첩 if)
  • SWITCH
  • 삼항 연산자 ( 조건? 참 : 거짓 )
키워드
if, else if, else, Nasted IF, switch, break, default, 삼항 연산자 

# IF

  • 조건문이란 ? 특정 조건에 따라 코드를 실행하거나 건너뛰는 문법
  • IF조건문은 조건문이 범위 비교 ( >, < ), 논리 연산자( &&, || )를 사용할 때 유리하다
  • 중첩으로 사용할 수도 있다 (Nested IF)

# if

  • 주어진 (조건)이 true일때 코드 블록 실행
if(조건문1){
  /* 조건문1이 true일 때 실행 */
}

# if ~ else if

  • 앞의 if의 (조건)이 false 일때, else if의 (조건)을 검사하고 true일 때 else if의 코드 블록 실행
if(조건문1){
  /* 조건문1이 true일 때 실행 */
}else if(조건문2){
  /* 조건문2이 true일 때 실행 */
}

# if ~ (else if) ~ else

  • 앞의 if와 else if의 (조건)들이 모두 false 일때, else의 코드 블록 실행
if(조건문1){
  /* 조건문1이 true일 때 실행 */
}else if(조건문2){
  /* 조건문2이 true일 때 실행 */
}else{
  /* 앞의 조건문들이 모두 false일 때 실행 */
}

# Nested IF (중첩 if)

// 아이디 : user , 비밀번호 : 1234
let user = prompt("아이디를 입력하세요");
let password =  prompt("비밀번호를 입력하세요");

if (user === "user"){
  if(password === "1234"){
    console.log("로그인 성공!");
  }else{
    console.log("비밀번호가 틀렸습니다.");
  }
}else{
  console.log("해당 아이디를 찾을 수 없습니다!");
}

# SWITCH

  • 특정 (표현식)이 일치하는 값을 찾으면 해당 코드 블록 실행
  • 하나의 (표현식)과 여러개의 조건 값(case)이거나 특정값 비교가 많을 경우 사용하면 유리하다
  • if ~ else 문을 여러번 사용할 때 보다 가독성이 좋다
  • break;를 사용하지 않으면 다음 case들도 실행되므로 주의해야 한다
let day = new Date().getDay(); // 오늘의 요일 (0: 일요일 ~ 6: 토요일)

switch (day) {
    case 0:
        console.log("일요일");
        break;
    case 1:
        console.log("월요일");
        break;
    case 2:
        console.log("화요일");
        break;
    case 3:
        console.log("수요일");
        break;
    case 4:
        console.log("목요일");
        break;
    case 5:
        console.log("금요일");
        break;
    case 6:
        console.log("토요일");
        break;
    default:
        console.log("올바른 요일이 아닙니다");
}
  • 문법 정리
    • 표현식 : 비교할 값
    • case 값 : 표현식이 값과 일치하면 해당 코드 실행
    • break; : 실행을 멈추고 switch 문을 빠져나감
      (break를 생략하면 case 코드들이 연달아 실행된다)
    • default : 위의 case 조건들과 일치하는 값이 없을 경우 실행
      (필수는 아니지만 예상하지 못한 값이 나올 것을 대비해 넣는 것을 추천)

# 삼항 연산자

  • 조건에 따라 두 값 중 하나를 선택하는 연산자
  • 짧은 조건문 사용 시 유리하다
  • if 문과 달리 한 줄로 간단하게 표현할 수 있어 코드가 더 간결해진다
  • 변수에 값을 할당하거나 바로 결과를 반환할 때 유용하게 사용된다
조건 ? 참일 때 값 : 거짓일 때 값;
let age = 18;
let result = (age >= 18) ? "성인" : "미성년자";
console.log(result);  // "성인"