Script/JavaScript

[JavaScript] 논리 연산자

hhnn 2021. 8. 12. 13:33

논리곱 AND (&&)

'그리고'를 표현하는 연산자

 

 

10은 5보다 크고 '그리고' 6은 8보다 작다

A && B

 

true && true => true

false && false => false

true && false =>false (하나라도 거짓이면 거짓)

 

 

예시1)

스티브잡스는 한국인이고(AND) 남자이다. //false

AND는 첫번째 false를 발견하는 즉시 평가를 멈춘다.

스티브잡스는 남자이고 한국인이며(false)군인이고...  뒤에는 따져보지 않음.

 

예시2)

// 90이상이면 "A학점 입니다."
// 80이상 90미만이면 "B"학점입니다."
// 70이상 80미만이면 "C"학점입니다."
// 60이상 70미만이면 "D"학점입니다."
// 60미만이면 "F"학점입니다."

function studyFunction(inputValue) {
    if (inputValue >= 90) {
        alert("A학점");
    } else if (inputValue >= 80 && inputValue < 90) {
        alert("B학점");
    } else if (inputValue >= 70 && inputValue < 80) {
        alert("C학점");
    } else if (inputValue >= 60 && inputValue < 70) {
        alert("D학점");
    } else {
        alert("F학점");
    }
}

논리합 OR (||)

 

A || B

 

true || true => true

false || false => false

true || false =>true (하나라도 참이면 참)

 

 

예시1)

스티브잡스는 한국인이거나(OR) 남자이다. //true

OR는 첫번째 true를 발견하면 즉시 평가를 멈춘다.

 

 

예시2)

 

10>5 || 6>8  //true
//둘 다 true이므로 

10<5 || 6<8  //true
//10은 5보다 작다는 false 이지만 6은 8보다 작아서 true이기 때문에 true

10<5 || 6>8  //false
//둘 다 false

논리부정 NOT (!)

참을 거짓으로, 거짓을 참으로 만드는 연산자

식 앞에 !를 붙이면 참인 값은 flase 가 되고, 거짓은 true 가 된다.

 

 

 

문자열이 false 인지 true인지 확인해보기 위해서는❓

 

1. Boolean 으로 감싸서 알아보기

2. 논리부정을 활용해 확인

 

 

필수 외우기!!

불 값으로 형변환 했을 경우 예외로 false 가 되는 것 6개 (나머지는 true)

!!false      //false
!!''         //false
!!0          //false
!!NaN        //false
!!undefined  //false
!!null       //false

 


다음 식의 연산 결과가 true 가 되게 만들어보기

 

5 + 4 * 3 === 27; 

 

(5+4)*3===27;  //true
5+4*3!==27;    //true 17!==27이 되어 값이 다르기 때문에 true
!(5+4*3===27); //true 17과 27은 값이 다르기 때문에 false 이지만 논리부정을 통해 true로 변경
반응형
SMALL