Unit2-[JavaScript] 기초 [Boolean Type]

2022. 12. 15. 18:27코드스테이츠/코드스테이츠S1: Chapter & Unit

Boolean 타입

Boolean(불리언)은 사실 관계를 구분하기 위한 타입입니다. 불리언 타입의 값은 true 혹은 false 둘 중 하나입니다.

true;
false;

 

falsy

불리언 타입은 아니지만, 자바스크립트에서 false로 “여겨지는” 값이 일부 있는데, 이를 falsy 값이라고 합니다. 반대로 true로 “여겨지는” 값은 truthy 값이라고 합니다. truthy 값은 매우 많아서, falsy 값을 암기하면 구분하기 쉽습니다.

// 대표적인 falsy 값
false
0
-0
0n
""
''
``
null
undefined
NaN

 

비교연산자(comparison operator)

불리언은 비교연산자(comparison operator)로 두 값이 같은지 다른지를 확인할 때 유용합니다.

 

  • === , !== : 엄격한 동치 연산자 두 피연산자의 값과 타입이 같으면 true, 다르면 false 를 반환합니다. 엄격한 동치 연산자는 보이는 값이 같아도, 두 값의 타입이 다르면 false 가 됩니다.
  •  
100 == 100 // 100은 100과 같으므로 true
100 == '100' // ==연산자는 타입을 구분하지 않기 때문에 true
100 == '100' // ===연산자는 타입을 구분하기 때문에 false
100 !== 100 // !== 같지않다면 true 이므로 false
100 !== '100' // 100과 '100'은 다르므로 true

 

논리연산자(logical operator)

논리연산자(logical operator)로 두 값 간의 논리 관계를 확인할 수 있습니다.

 

 || : 논리합(OR)

  • 두 값 중 하나만 true 여도 true 로 판단합니다.
true || false; // 하나가 true 이므로 true
false || true; // 하나가 true 이므로 true
true || true; // 하나 이상이 true 이므로 true
false || false; // 둘다 false 이므로 false
100 < 200 || 30 > 300; // 100이 200보다 작은것은 true 이므로 true

&& : 논리곱(AND)

  • 두 값이 모두 true 면 true 로 판단합니다.
true && true; // 두 값 모두 true 이므로 true
true && false; // 하나만 true 이므로 false
800<1000 || 100=='100'; / 두 값 모두 true 이므로 true
20<10 || 100 === '100; / 두 값 모두 false 이므로 false

 

논리 부정 연산자(!)의 경우, 사실 관계를 반대로 표현합니다.

  • ! : 부정(NOT)
    • 오른쪽 피연산자와 반대의 사실을 반환합니다.
!true // 결과값이 true면 false를 반환
!(100 > 200) // 결과값이 false면 true를 반환

 

falsy, truthy의 반대 값을 반환합니다.

!0 // 0은 falsy, 그러므로 true를 반환
!'' // ''도 falsy, 그러므로 true를 반환
!1 // falsy를 제외한 모든건 truthy , 그러므로 false 반환
!'코드스테이츠' // falsy를 제외한 모든건 truthy , 그러므로 false 반환



// 대표적인 falsy 값
false
0
-0
0n
""
''
``
null
undefined
NaN

 

연산자 정리

== : 타입과 상관없이 같은 값이면 true.

=== : 같은 타입의 같은 값이면 true.

!==: 같은 타입의 다른 값이면 true.

< : 우측 값이 크면 true.

> : 좌측 값이 크면 true.

<= : 우측 값이 크거나 같으면 true.

>= : 좌측 값이 크거나 같으면 true.

|| : 두 값 중 하나라도 true면 true.

$$: 두 값 모두 ture 여야 true.