프로그래밍에서의 비교연산자는 일반 수학에서 사용하는 연산자와 거의 비슷하다(한 80%는 같을거같다.)
a > b
a >= b
a <= b
크거나 같다 크다. (요건 똑같음)a !== b
같지않다.a === b
같다. (요건 살짝만 다름)
논리 연산자역시 그 개념은 일반 수학과 크게 다르지 않다.
논리연산자는 수학에서
어떤 명제가 참인지 거짓인지를 판별할때 합집합(∪)과 교집합(∩)으로 생각한다.
참거짓을 판별할때는 논리곱을 이용한다.
참(true)인 명제 그리고(∩) 참(true)인 명제 = 참인 명제 이듯
프로그래밍에서도 이 개념을 합집합 (||
) 교집합 (&&
) 으로 사용한다.
수학에서와 마찬가지로 논리곱을 적용하면
a || b
면 a 와 b 둘중 하나만 참이라면 참이라고 성립된다.
if(a || b) {
// run if a or b is true...
}
a와 b에는 어떤식이 들어갈까? 바로 boolean 으로 평가될수 있는 값들이 들어가야 한다.
boolean으로 평가될수 있는값들은 그 결과값이 true나 false로 나와야 하는 값들을 말한다.
비교연산자를 사용하면 그 결과값이 boolean으로 평가되므로 a , b에 비교연산자를 사용하는 값들이 들어갈수 있다.
if( a > 10 && b > 15){
// run if a is more than 10 and b is more than 15...
}
이외에 부정연산자 !
역시 그 결과값이 boolean으로 평가되고,
어떤 함수의 결과값이 boolean으로 나온다던지, 어떤 변수의 값이 boolean type이 된다면 모두 논리곱의 명제로 사용할수가 있다.
자바스크립트는 그 값이 truthy 한 값들과 falsy 한 값들이 있다. (그 값 자체로 bool값으로 평가되는 것이다.)
if문이나 while , for 문에서의 bool 값을 기대하는 문(statment)에서, 이 값들을 써주면 자동으로 참거짓을 판단해준다.
if (false) // false
if (null) // false
if (undefined) // false
if (0) // false
if (NaN) // false
if ('') // false
이 값 외의 값들은 bool값을 기대하는 문(statment)에서 true로 평가된다. falsy한 값들은 잘 알아두자.
'Frontend > JAVASCRIPT' 카테고리의 다른 글
[Javascript] Object(기본,리터럴) (0) | 2020.01.12 |
---|---|
[Javascript] 인자(argument)와 매개변수(parameter) (0) | 2020.01.12 |
[Javascript] 배열(Array) (0) | 2020.01.11 |
[Javascript] 함수 (0) | 2020.01.10 |
[Javascript] 변수와 값(타입) (1) | 2020.01.07 |