[javascript]자바스크립트 if와 '?'를 사용한 조건 처리 (삼항 연산자)

rondido·2022년 8월 29일
0

Javascript

목록 보기
5/21

if와 '?'를 사용한 조건 처리(삼항 연산)

  • if문은 괄호 안에 들어가는 조건을 평가하는데 조건이 참일 경우 코드 블록 실행

function number(a,b){
    let sum = a+b;
    if(sum <= 100){
        console.log(`sum의 값은: ${sum} 이므로 100보다 작거나 같습니다.`);
    }
   else{
    console.log(`sum의 값은: ${sum}이므로 100보다 크거나 같습니다`);
   }
}
number(10,20);

불린형으로의 변환

  • if 문은 괄호 안의 표현식을 평가하고 그 결과를 불린값으로 변환
  • 숫자 0, 빈문자열"",null,undefiend,NaN은 불린형으로 변환 시 모두 false가 됩니다. 이런 값들은 falsy(거짓 같은)값이라고 불림.

  • 아래 코드는 절대 실행되지 않습니다.
if(0){
...
}

  • 아래의 코드는 항상 실행
if(1){
...
}

  • if문 전달
let cond = (year == 2015); // 동등 비교를 통해 true/false 여부를 결정합니다.

if (cond) {
  ...
}

else절

  • if문엔 else 절을 붙일 수 있습니다. else 뒤에 이어지는 코드 블록은 조건이 거짓일 때 실행됩니다.

function number(a,b){
    let sum = a+b;
    if(sum % 2 == 0){
        console.log(`sum의 값은: ${sum} 이므로 짝수 입니다.`);
    }
   else{
    console.log(`sum의 값은: ${sum}이므로 홀수 입니다.`);
   }
}
number(13,20);

else if 절

  • 유사하지만 약간씩 차이가 있는 조건 여러 개를 처리해야 할 때가 있습니다. 이때 else if를 사용할 수 있습니다.

let sum = 30;

if(sum == 30){
    console.log("30입니다")
}else if(sum == 20){
    console.log("20입니다")
}else{
    console.log("20도 아니고 30도 아닙니다.")
}

조건부 연산 "?"

  • 조건에 따라 다른 값을 변수에 할당해줘야 할 때가 있습니다. (삼항 연산자)

let a = 50
a < 100 ? console.log(a) : console.log(100);

다중 "?"


let age = 101;
age < 3 ? console.log("아기야 안녕?") : 
(age < 18) ? console.log("안녕") : 
(age < 100) ? console.log("환영합니다") : 
console.log("나이가 아주 많거나 나이의 값이 아닙니다.")

부적잘한 "?" 사용

  • 물음표?를 if 대용으로 쓰는 경우가 종종 있습니다.

  • 코드를 읽을 때 우리의 눈은 수직으로 움직입니다.
    수평으로 길게 늘어진 코드보단 여러 줄로 나뉘어 작성된 코드 블록이 더 읽기 쉽죠.
    물음표 연산자?는 조건에 따라 반환 값을 달리하려는 목적으로 만들어졌습니다.
    이런 목적에 부합하는 곳에 물음표를 사용하시길 바랍니다. 여러 분기를 만들어 처리할 때는 if를 사용하세요.


koa.javascript 사이트에서 공부한 내용을 정리

profile
개발 옆차기

0개의 댓글