본문 바로가기

Frontend/JAVASCRIPT

[Javascript] 연산자와 boolean Type

반응형

프로그래밍에서의 비교연산자는 일반 수학에서 사용하는 연산자와 거의 비슷하다(한 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값으로 평가되는 것이다.)

JavaScript에서, 참 같은 값(Truthy)인 값이란 불리언을 기대하는 문맥에서 true로 평가되는 값입니다. 따로 거짓 같은 값으로 정의된 값이 아니면 모두 참 같은 값으로 평가됩니다. (예: false, 0, "", null, undefined, NaN 등)
developer.mozilla.org
거짓
거짓 같은 값(Falsy) 값은 불리언 문맥에서 false로 평가되는 값입니다.
developer.mozilla.org

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