Javascript/Javascript

[기초 자바스크립트] 6. if문, 삼항연산자

Rainbow🌈Coder 2022. 3. 9. 00:05
728x90
if(조건){
    조건이 true일 경우 들어옴
}else if(또 다른 조건){
    조건이 true일 경우 들어옴
}else if(또 다른 조건){
    조건이 true일 경우 들어옴 
}else {
    모든 조건이 false인 경우 들어옴 
}

연산자


if 문에 조건을 쓸때 비교연산자와 논리연산자가 많이 쓰인다. 비교연산자와 논리연산자는 항상 true, false로 떨어진다

범위 표현

1~10사이라는 조건을 표현하고 싶을때는 반드시 && 연산자를 써줄 것


1<a<10       => X틀림
1<a && a<10
   => o맞음

==과 ===의 차이


둘의 차이는 자료형까지 일치해야하는가? 이다.
a==b 의 경우 둘의 값만 같으면 됨
a===b의 경우 둘의 값 + 자료형까지 같아야함 (더 엄격한 비교)


let a = 1 
let b ="1"
console.log(a==b) //true
console.log(a===b) //false

 

예제

let skills = ["HTML","CSS"]


if(skills.includes("HTML")&&skills.includes("CSS")&&skills.includes("Javascript")&&skills.includes("React"))
{
    console.log("합격")
}
else if(skills.includes("HTML")&&skills.includes("CSS")&&skills.includes("Javascript"))
{
    console.log("예비")
}
else
{
      console.log("불합격")
}

 

삼항연산자 예제

let fruit ="apple"

//          조건식        ? 참일때                 : 거짓일때
let buy = fruit=="apple" ? "사과니까, 구입할게요." : false
console.log(buy)

fruit ="banana"
buy = fruit=="apple" ? "사과니까, 구입할게요." : false
console.log(buy)

출력결과

사과니까, 구입할게요.
false

switch

  • 조금더 간결하고 의미가 명확해 보인다는 장점이 있음
  • case가 값으로 딱 정해진 경우에만 사용가능
  • 조건이 비교식일 경우 사용 불가
    let food = '햄버거'
    switch(food){
        case '피자':
            console.log("피자를 주세요")
            break;
        case '햄버거':
            console.log("햄버거를 주세요")
            break;
        default:
            console.log("메뉴에 없는 음식입니다")
    }

default는 else처럼 매칭되는 case가 없을때 실행이 된다.

 

삼항 연산자

  • if문을 간단하게 표현할 수 있다.
  • 조건에 따라 실행하는 내용이 한가지일때 쓰기 좋다
  • 조건에따라 실행하는 내용이 다르다
  • 조건식? 참일때 : 거짓일때
    let food = '햄버거'
    let answer = food == '햄버거'? '햄버거 좋아':'햄버거 싫어'
  • 연산식을 붙여서 더 많은 조건 표현도 가능하다
  • let food = '햄버거'
    
    if(food == '피자'){
      console.log('피자좋아')
    }else if(food == '햄버거'){
      console.log('햄버거 좋아')
    }else{
      console.log("다 싫어")
    }
    
    
    // 위의 if문을 삼항연산자로 표현하면 
    let answer = food =="피자"?"피자좋아":food == '햄버거'?'햄버거 좋아':"다 싫어"
    console.log(answ
728x90